【发布时间】:2016-08-31 00:37:12
【问题描述】:
在我的 JavaScript 代码中,我有一个包含以下语句集的函数
function someFunc(object,action){
for(var property in object){
if(Object.prototype.hasOwnProperty.call(object, property)){
//TODO
}
}
}
}
如果我用
替换函数内部的 if 语句if(obj.hasOwnProperty(property)){
//TODO
}
两者都适合我。我只想知道其中哪种方法更好,为什么?我知道obj.hasOwnProperty(property) 检查对象的个人财产。我也想知道 call 是如何在这里链接的
object.prototype.hasOwnProperty.call(object, property)
【问题讨论】:
-
如果对象因为这个或那个原因没有办法访问 Object.prototype(通常所有对象都有)你可以选择使用第一种方法。
标签: javascript oop call