个人业务网站源码,wordpress js无效,房产信息网网址,十堰秦楚网十堰晚报新闻目录 如何获得对象非原型链上的属性#xff1f; 如何获得对象非原型链上的属性#xff1f;
要获取对象上非原型链上的属性#xff0c;可以使用 hasOwnProperty() 方法。这个方法是 JavaScript 内置的对象方法#xff0c;用于检查一个对象是否包含指定名称的属性#xff0… 目录 如何获得对象非原型链上的属性 如何获得对象非原型链上的属性
要获取对象上非原型链上的属性可以使用 hasOwnProperty() 方法。这个方法是 JavaScript 内置的对象方法用于检查一个对象是否包含指定名称的属性并且该属性是对象自身的属性而不是继承来的属性。
var obj {name: John,age: 30
}console.log(obj.hasOwnProperty(name)) // true
console.log(obj.hasOwnProperty(toString)) // false以上代码中obj 对象具有自己的属性 name 和 age。使用 hasOwnProperty() 方法我们可以检查这些属性是否属于对象自身的属性。obj.hasOwnProperty(name) 返回 true表示 name 是 obj 对象自身的属性。而 obj.hasOwnProperty(toString) 返回 false因为 toString 是从 Object.prototype 继承而来的属性而不是 obj 对象自身的属性。
这样我们就可以利用 hasOwnProperty() 方法来过滤原型链上的属性只获取对象自身的属性。
请注意hasOwnProperty() 方法只会检查对象自身的属性而不会检查继承来的属性。如果你需要获取对象自身以及继承的所有属性可以使用 Object.getOwnPropertyNames() 方法或 for...in 循环。但要注意for...in 循环会遍历所有可枚举的属性包括自身和继承的属性。
var obj {name: John,age: 30
}console.log(Object.getOwnPropertyNames(obj)) // [name, age]这将返回一个数组包含对象自身的所有属性的名称。通过这种方式你可以获取对象上所有的属性包括非原型链上的属性。 持续学习总结记录中回顾一下上面的内容 要获取对象自身的属性而非原型链上的属性可以使用对象本身的方法或属性。如果对象自身包含该属性则直接通过对象访问如果对象自身没有该属性就不会去原型链上查找。另外可以使用 hasOwnProperty 方法来检查属性是否存在于对象自身而非原型链上。