js属性对象的hasOwnProperty方法
发布日期:2021-05-06 20:27:00 浏览次数:19 分类:精选文章

本文共 1234 字,大约阅读时间需要 4 分钟。

判断自生属性与继承性

function foo() {               this.name = 'foo'            this.sayHi = function () {                   console.log('Say Hi')            }        }        foo.prototype.sayGoodBy = function () {               console.log('Say Good By')        }        var myPro = new foo()        console.log(myPro.name) // foo        console.log(myPro.hasOwnProperty('name')) // true        console.log(myPro.hasOwnProperty('toString')) // false        console.log(myPro.hasOwnProperty('hasOwnProperty')) // fasle        console.log(myPro.hasOwnProperty('sayHi')) // true        console.log(myPro.hasOwnProperty('sayGoodBy')) // false        console.log('sayGoodBy' in myPro) // true

判断自生属性是否存在

var o = new Object();o.prop = 'exists';function changeO() {       o.newprop = o.prop;    delete o.prop;}console.log(o.hasOwnProperty('prop'));  // truechangeO();console.log(o.hasOwnProperty('prop'));  // false

遍历一个对象的所有自身属性

在看开源项目的过程中,经常会看到类似如下的源码。for…in循环对象的所有枚举属性,然后再使用hasOwnProperty()方法来忽略继承属性。

var buz = {       fog: 'stack'};for (var name in buz) {       if (buz.hasOwnProperty(name)) {           alert("this is fog (" + name + ") for sure. Value: " + buz[name]);    }    else {           alert(name); // toString or something else    }}
上一篇:Dom基础
下一篇:Dom 节点

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月26日 16时02分20秒