您的位置:首页 > Web前端 > JavaScript

JavaScript属性

2015-10-14 11:17 435 查看
在JavaScript中,一个对象的属性可以分为自有属性和原型属性。

自有属性是指该属性被直接保存在一个对象的实例内,仅仅是指定的对象实例拥有该属性,对改属性的所有操作都必须通过该对象进行。

原型属性是指被定义在该对象的原型对象中的属性。

属性探测:一般使用in操作符或每个对象都拥有的hasOwnProperty()方法

区别是in操作符会检查自由属性和原型属性,只要给定属性存在即返回true。

而hasOwnProperty()是在给定属性存在且为自有属性才返回true,也就是只检查自有属性。

var person1 = {
name : 'zhuyun',
};
console.log('name' in person1);  //true
console.log(person1.hasOwnProperty('name'));  //true
console.log('toString' in person1);  //true
console.log('person1.hasOwnProperty('toString'));  //false
toString()方法是一个所有对象都有的原型属性,它其实是Object对象的属性。

下面是一个鉴别原型属性的方法

function hasPrototypeProperty(object, name){

return name in object && !object.hasOwnProperty(name);

}

console.log(person1,'name'); //false

console.log(person1,'toString'); //true

如果某个属性in一个对象,但是对该属性用hasOwnProperty()返回false,那么这个属性就是原型属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: