1.创建对象
(1)调用构造函数创建对象,var obj=new Object();
(2)自定义构造函数创建对象,function Person(name,age){ }
首先,在内存中申请一块空闲的空间,存储创建的新对象;
然后,把this设置为当前对象;
接着,设置对象的属性和方法的值;
最后,把this这个对象返回。(3)字面量方式创建对象,var obj={ }; [一次性对象]
json格式的数据,一般都是成对的键值对,json也是一个对象。
js学习中的三种对象:
内置对象---js自带的对象[ Math,Date,String,Array ]
自定义对象---自己定义的构造函数创建的对象
浏览器对象---windows、计时器等等
对象设置(获取)属性值的写法:对象.属性; 对象["属性"];
2.创建数组
(1)Array构造函数创建数组,var arr=new Array()
var arr=new Array(10); --创建长度为10的数组
var arr=new Array('aaa','bbb');--创建数组时直接写数组中的具体元素
(2)字面量创建数组,var arr=['aaa','bbb','ccc','ddd'];
判断是否是数组:
1.instanceof
console.log(arr instanceof Array); //结果是true,说明value是数组
2.Array.isArray(value)
console.log(Array.isArray(arr)); //结果是true,说明value一定是个数组
对象是无序的,数组是有序的。
tips:预解析--提前解析代码,把变量和函数的声明会提前,提前到当前作用域的最上面,但不会提前作用域。