如何访问对象
对象.属性名
注意:创建对象时,属性用逗号隔开,而不是分号;
对象的分类:
内建对象
-由ES标准中定义的对象,在任何的ES的实现中都可以使用
-比如: math String Number boolean function object。。。。。
2.宿主对象
-由JS运行环境提供的对象,目前主要指浏览器提供的对象
-比如BOM,DOM
3.自定义对象
-由开发人员自定义的对象。
创建对象
使用new关键字创建的函数叫构造函数(constructor)
构造函数是专门用来创建对象的函数
var obj= new object();
在对象中保存的值称为属性
向对象添加属性
语法:对象.属性名=属性值;
obj.name=“孙悟空;
;
向obj添加了一个name属性
读取对象中的属性
语法:对象.属性名
console.log(obj.name)
;
向控制台输出obj对象name属性的值
删除对象中的属性
语法:delete 对象.属性名;
delete obj.name;
删除obj对象中的name属性
修改对象中的属性
语法:对象.属性名=新值
obj.name=”猪八戒“
将obj对象的name属性值修改为猪八戒
向对象中添加属性
属性名:
~对象的属性名不强制要求遵守标识符的规范
什么乱七八糟的名字都可以使用
~但是使用时还是尽量按照标识符的规范去做
如果要使用特殊的属性名,不能采用。的方式来操作
需要使用另一种方式:
语法:对象[“属性名”]=属性值
obj["123"]=789;
需要读取时也要按照这种要求去做
使用【】这总形式去操作属性更加灵活;
在【】中直接传递一个变量,这样变量的值是多少就会读取哪个属性
属性值:
JS对象中的属性值,可以是任意数据类型
甚至也可以是一个对象
var obj2=new object();
新建一个obj2对象
obj.test=obj2;
将obj2对象作为obj对象的test属性
obj2.name=”沙和尚“;
给obj2对象创建一个name属性
console.log(obj.test);
输出obj对象的test属性(obj2对象)
console.log(obj.test.name);
输出obj对象的test属性(obj2对象)的name属性的值
in 运算符
通过该运算符可以检查一个对象中是否含有指定的属性
如果有该值返回为true,没有则返回false。
~语法:
”属性名“ in 对象
对象字面量
使用对象字面量,可以在创建对象时,直接指定对象的属性
语法:{属性名:属性值,属性名:属性值}
var ojb={name:"猪八戒",age:18,gender:”男“};
var ojb={
name:"猪八戒",
age:18,
gender:”男“
};
对象字面量的属性名可以加引号也可以不加,建议不加。
如果要使用一些特别的属性名,则必须加引号
属性名和属性值是一组一组的名值对结构
名和值之间用:链接,多个名值对之间用,隔开
如果一个属性后面没有其他属性了,则不用写