js对象常见操作(添加删除判断属性)

Posted mingli-jian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js对象常见操作(添加删除判断属性)相关的知识,希望对你有一定的参考价值。

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

 










以上是关于js对象常见操作(添加删除判断属性)的主要内容,如果未能解决你的问题,请参考以下文章

js 判断对象中所有属性是不是为空

怎么用js拿到一个对象里面的属性

js学习-动态添加修改删除对象的属性和方法

js动态为对象添加属性和方法

java 如何实现判断一个对象所有的属性是不是为空

js 根据css颜色属性进行判断