首页 > 技术文章 > js对象常见操作(添加、删除、判断属性)

mingli-jian 2018-03-30 15:14 原文

建一个空对象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的缺陷 。

 

推荐阅读