Tag: hasownproperty

为什么使用Object.prototype.hasOwnProperty.call(myObj,prop)而不是myObj.hasOwnProperty(prop)?

如果我理解正确,Javascript中的每个对象都inheritanceObject原型,这意味着Javascript中的每个对象都可以通过原型链访问hasOwnProperty函数。 在阅读require.js的源代码时,我偶然发现了这个函数: function hasProp(obj, prop) { return hasOwn.call(obj, prop); } hasOwn是对Object.prototype.hasOwnProperty的引用。 写这个函数有没有什么实际的区别 function hasProp(obj, prop) { return obj.hasOwnProperty(prop); } 而且既然我们在这,为什么我们要定义这个函数呢? 这只是一个快捷方式和本地caching属性访问(轻微)性能增益的问题,还是我错过了hasOwnProperty可能用于没有此方法的对象的任何情况?