建一个空对象user:
var user=new Object();
1.添加属性
1.1.一般添加属性(属性名已知)
这时user 对象没有任何属性和方法,显然没有任何用途。但可以为它动态的添加属性和方法,例如:
user.name=”jack”;
user.age=21;
user.sex=”male”;
user["height"] = 158; //采用方括号([])语法
user.alert=function(){ //添加方法
alert(“my name is:”+this.name);
}
1.2.动态添加属性(属性名未知)
var p = "name";
user[p] = "jack" ; //相当于user.name = "jack"
2.修改属性
修改一个属性的过程就是用新的属性替换旧的属性,例如:
user.height = 160;
3 . 删除属性
delete user.name;//删除属性
console.log(user.name);//undefined
4.判断对象是否含有某个属性
4.1方法一:in方法
alert(‘name‘ in user); // --> truealert(‘weight‘ in user); // --> falsealert(‘toString‘ in user); // --> trueNT:可看到无论是name,还是原形链上的toString,都能检测到返回true。
4.2方法一:hasOwnProperty 方法
user.hasOwnProperty(‘name‘); // --> trueuser.hasOwnProperty(‘toString‘); // --> falseNT:原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。需注意的是,虽然in能检测到原型链的属性,但for in通常却不行。
for in的更多知识详见for in的缺陷 。