1.属性的创建
var obj={z:3};
obj.x=1; //创建属性x
obj.y=2 ; //创建属性y
obj.z=7; //如果对象有z属性,则进行赋值,否则创建z属性
2.属性值的获取
var obj={x:1,y:2,z:3};
方法一:
var x=obj.x;//获取x
var y=obj.y;//获取y
var z=obj.z;//获取z
方法二:(以key获取类型)
var x=obj[x];//获取x
var y=obj[y];//获取y
var z=obj[z];//获取z
3.属性的删除
delete obj.x //删除属性 x
注意 :如果是使用var 声明的全局变量,则不可以使用delete删除
4.属性的检测
1. in 关键字 //先从对象本身去查找,如果找不到,就去原型链上寻找
'x' in obj; //返回true
2. 使用对象的hasOwnProperty()方法。
该方法只能判断自有属性是否存在,对于继承属性会返回false。
var o={x:1}; o.hasOwnProperty("x"); //true,自有属性中有x o.hasOwnProperty("y"); //false,自有属性中不存在y o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性
3. 用undefined判断
自有属性和继承属性均可判断。
var o={x:1}; o.x!==undefined; //true o.y!==undefined; //false o.toString!==undefined //true
该方法存在一个问题,如果属性的值就是undefined的话,该方法不能返回想要的结果,如下。
var o={x:undefined}; o.x!==undefined; //false,属性存在,但值是undefined o.y!==undefined; //false o.toString!==undefined //true
4.在条件语句中直接判断
var o={}; if(o.x){
o.x+=1; //如果x是undefine,null,false," ",0或NaN,它将保持不变
}
5.get 和set的使用