javascript对象
对象的分类:
- 内建对象
- 宿主对象
- 自定义对象(重点)
1、内建对象
-ES标准中定义的对象,在任何的ES的实现中都可以使用
-比如:Math、String、Number、Boolean、Function、Object...
2、宿主对象
-由JS的运行环境(浏览器)提供的对象
-比如BOM、DOM、console.log()
3、自定义对象(重点)
-由开发人员自己创建的对象
自定义对象
- 创建对象
- 添加/修改属性
- 读取属性
- in运算符检查某个属性是否存在
创建对象
方法一:var obj = new Object(); //关键字new创建对象
方法二: var obj = {}; //字面量创建对象
添加/修改属性 ------对象名.属性="属性值"
方法一:
obj.name="姓名";
obj.something="something";
方法二:
var obj = {name:"姓名",something:"something"}; //字面量创建对象时同时添加属性
var obj = {"name":"姓名",'something':"something"}; //属性名加双/单引号,一般遇到用关键字做属性名时才加双/单引号
说明1:属性名不强制要求遵守标识符的规范,但尽量按照标识符的规范去命名
例如:
obj.var = "123"; //var是关键字,但也可以作为属性名
obj["var"]="123"; //特殊的属性名更建议用[ ]形式操作属性,在[ ]中可以直接传递变量
若 var n = "test";
则 obj["n"] == obj["test"]; //obj["n"] 等于 obj["test"]
说明2:javascript对象的属性值,可以是任意的数据类型,包括对象
例如:
var obj2 = new Object();
obj2.name = "vaule";
obj1.test = obj2; //或obj1.test={name:"value"};
读取属性 ------对象名.属性
window.write(obj.name); //读取并在页面输出obj.name属性
alert(obj.something); //读取并在提示框输出obj.something属性
console.log(obj.test.name); //读取并在控制台输出obj对象里的obj2对象的某一个属性值
in运算符检查某个属性是否存在
console.log("test" in obj); //obj对象存在test属性,返回true
console.log("abc" in obj); //obj对象不存在abc属性,返回false