建一个空对象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 );  // --> true
alert( 'weight'  in user );  // --> false
alert( 'toString'  in user );  // --> true

NT:可看到无论是name,还是原形链上的toString,都能检测到返回true。

4.2方法一:hasOwnProperty 方法

user.hasOwnProperty( 'name' );  // --> true
user.hasOwnProperty( 'toString' );  // --> false

NT:原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。需注意的是,虽然in能检测到原型链的属性,但for in通常却不行。

 for in的更多知识详见for in的缺陷 。

03-17 01:16