0
有没有一种方法可以将函数添加到对象原型中,使其不会包含在循环中?将函数添加到对象原型的正确方法?
例:
Object.prototype.stuff = function(){};
var obj = {'hello':1};
for(var i in obj){
console.log(i);
}
//it will log: hello, stuff
//I'd want it to only log hello,
使用'Object.defineProperty'并设置'enumerable'如'FALSE'(这是默认值):https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty - 查看浏览器兼容性的底部。要么是这样,要么在用'for'循环迭代时使用'hasOwnProperty':https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty。要么是这些,要么遍历Object.keys(obj)'的结果:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys – Ian