对象的分类
1.内建对象
由ES标准中定义的对象,在任何的ES的实现中都可以使用;
比如:Math String Number Boolean Function Object…
2.宿主对象
由JS的运行环境提供的对象,目前来讲主要是指由浏览器提供的对象;
比如:BOM DOM
3.自定义对象
由开发人员自己创建的对象
对象的基本操作
创建对象
1.使用new关键字调用的函数,是构造函数constructor;
构造函数是专门用来创建对象的函数;
使用typeof检查一个对象时,会返回object;
语法:var 对象名=new Object();
向对象中保存的值称为属性
1.向对象中添加属性:
语法:对象.属性名=属性值;
2.读取对象中的属性:
语法:对象.属性名;
如果读取对象中没有的属性,不会报错而是会返回undefined。
3.修改对象的属性值:
语法:对象.属性名=新值
4.删除对象的属性:
语法:delete 对象.属性名
使用[ ]这种形式去操作属性,更加的灵活,在[ ]中可以直接传递一个变量,这样变量是多少就会读取那个属性
例:
obj["123"]=789;
obj["niao"]="你好";
var n="123";
console.log(obj[n]);
2.使用对象字面量,可以在创建对象时,直接指定对象中的属性;
语法:
{属性名:属性值,属性名:属性值…}
对象字面量的属性名可以加引号也可以不加,建议不加,如果要使用一些特殊的名字,则必须加引号;
属性名和属性值是一组一组的名值对结构,名值对之间使用":“连接,多个名值对之间使用”,“隔开,如果一个属性之后没有其他属性了,就不要写”,"。
in运算符
可以通过该运算符检查一个对象中是否含有指定的属性,如果有则返回true,没有则返回false;
语法:“属性名” in 对象名
枚举对象中的属性
使用for…in语句
语法:
for(var 变量 in 对象){
}
for…in语句中有几个属性,循环就会执行几次,每次执行时,会将对象中的一个属性的名字赋值给变量。
例:
for(var n in obj){
console.log(“属性名”+n);
console.log(“属性值”+obj[n]);
}