版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chongchong1325/article/details/77481697
第七章----对象和数组
对象
例子如下:
var book={};
book.title="javascript";
book.chapter1 = new Object();
book.chapter1.title = "javascript introduction";
book.chapter1.page ='4';
book.chapter2 ={title:"javascript structure",page:22};
console.log(JSON.stringify(book))
结果:{"title":"javascript","chapter1":{"title":"javascript introduction","page":"4"},"chapter2":{"title":"javascript structure","page":22}}
需要注意的是:可以通过将一个值赋值给对象的新属性来创建它。
属性的枚举
用for/in遍历对象的属性:
上面的例子:
var book={};
book.title="javascript";
book.chapter1 = new Object();
book.chapter1.title = "javascript introduction";
book.chapter1.page ='4';
book.chapter2 ={title:"javascript structure",page:22};
for(var key in book)
{console.log(key,',',book[key])}//输出属性名字,属性值
if(book.page===undefined)
{ book.page = 20}
console.log(book.page)//20
删除属性
delete book.page;
console.log(book.page)//undefined
作为关联数组的对象
var addr='';
custom={address0:1,address1:1,address2:1,address3:1,};
for(var i=0;i<4;i++){
addr +=custom["address"+i]
}
其实就是用[]来存取对象的属性,尤其用于对象的属性名师未知的情况。
通用的Object属性和方法
1.constructor
每个对象都有一个constructor属性,它引用了初始化这个对象的构造函数
var d = new Date();
console.log(d.constructor == Date)//true
构造函数定义了一新的对象,那么constructor可以用户确定一个对象的类型。
var d = new Date();
console.log(d.constructor == Date);//true
console.log(d instanceof Date);//true
2.toString()方法
当javascript需要将一个对象转换成字符串的时候调用此方法。
3.toLocaleString()方法
Object的方法,返回对象的一个本地化字符串表示。
4.valueOf()方法
当javascript需要将对象转换成基本数据类型时调用。
5.hasOwnProperty()方法
判断这个字符串所指定的属性是不是非继承的,如果是返回true。
var o ={};
o.hasOwnProperty('undef') ;/l/false
o.hasOwnProperty('toString');//false
Math.hasOwnProperty('cos')//true
6.propertyIsEnumerable()方法
如果这个字符串所指定的属性不是非继承的,同时,这个属性是枚举的,返回true。
注意:用户自定义的属性,都是可以枚举的,不能枚举的属性通常是继承的。
var o ={x:1};
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false
o.propertyIsEnumerable("valueOf");//false
7.isPrototypeOf()
如果isPrototypeOf()方法所属的对象是参数的原型对象,返回true。
数组
数组是一个有序的、值得集合。
数组的方法:
1.join()
2.reverse()
3.sort()
4.concat()
5.slice()
6.splice()
7.push()/pop()
8.shift()/unshift()