目录
概述
两种创建对象的方法
自变量形式对象的创建与访问
_age : 这个 ' _ ' 相当于约定,外面也可以直接访问,通常都是有get set 方法,通过get set方法来赋值取值
name:"jc" 属性名:值,值如果是字符串需要使用双引号 "字符串",变量则不需要,每个属性之间要使用逗号隔开
work:function(){} 值也可以是一个function 调用方式 o.work();
address:{属性名:值 ...} 级联属性
对象如下:
<script type="text/javascript">
var o = {
_age:22,
name:"jc",
work:function(){
console.log("working....");
},
get age(){
return this._age;
},
set age(val){
this._age=val;
},
address:{
home:"家庭",
office:"公司"
}
}
</script>
效果
扩展:如果属性名是变量的话需要使用 对象[属性变量名]
属性的级联访问问题
Object构造器形式的创建与访问
一次添加多个属性
// 属性中的特性属性get(获取) set(设置) writable(可修改) enuerable(可枚举) configurable(能否配置这些属性,是否可以删除) value
Object.defineProperties(o,{salary:{value:1000,writable:false},gender:{value:true,writable:false} })
get set
Object.defineProperties(o,{
test:{
get:function(){ return 123},
set:function(val){console.log(val)}
}
})
对象的遍历
for(对象中属性变量 in 对象变量){ console.log(变量[对象中属性变量]);}
例如:
或者 使用 Object.Keys(对象变量) 传进去对象返回一个属性数组
检查对象是否有这个属性
第两方式
对象属性的删除
查看对象属性的特性
属性特性:
get(获取) set(设置) writable(是否修改) enuerable(是否可枚举) configurable(是否可以配置这些属性特性,是否可以删除) value
判断对象参数的类型
总结
这两种创建对象的方法没有差别