1、首先创建两个文件,一个jstest.html,一个jstest.js文件。
2、打开html在里面引入jstest.js。
3、打开jstest.js文件,创建一个方法aa。
4、然后接着使用if(typeof aa=="function")判断如果aa方法存在就提示"aa方法存在",否则弹出"aa方法不存在",明显aa是存在的。
5、接着使用if(typeof cc=="function")判断如果cc方法存在就提示"cc方法存在",否则弹出"cc方法不存在",因为我们没有定义cc这个方法,所以cc不存在。
6、打开jstest.html,第一会提示,“aa方法存在”。
因为无论是数组还是对象,对于typeof的操作返回值都为object,所以就有了区分数组类型和对象类型的需要:方一:通过length属性:一般情况下对象没有length属性值,其值为undefiend,而数组的length值为number类型
缺点:非常不实用,当对象的属性存在length,且其值为number(比如类数组),则该方法失效,不建议使用,看看即可。
*方二:通过instanceof来判断区分
var arr = [1, 2, 3] var obj = {name: 'lyl',age: 18,1: 'name'}console.log(arr instanceof Array)//trueconsole.log(obj instanceof Array)//false
*方三:通过constructor
var arr = [1, 2, 3] var obj = {name: 'lyl',age: 18,1: 'name'}console.log(arr.constructor === Array)//trueconsole.log(obj.constructor === Array)//false
1.这种方法的属性(setAttrName)可以是一个变量。
var obj = {}
obj[setAttrName] = 'Tom'
2.这样就可以动态的给js对象添加变量属性。
var obj = {
attr: {
}
}
var egData = ['oneAttr', 'twoAttr', 'threeAttr']
for (var i = 0 i < egData.length i++) {
obj.attr[egData[i]] = false
}
资料拓展:创建 JavaScript 对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
1.定义并创建对象的实例
2.使用函数来定义对象,然后创建新的对象实例