【发布时间】:2011-11-09 09:34:11
【问题描述】:
我不得不在我的代码中大量使用 hasOwnProperty,而且它的输入非常冗长而且像驼峰式一样。我只想说myObj.has('x'),但是当我尝试在 Object.prototype 中为 hOP 制作别名时,'has' 现在在 for..in 循环中被枚举。获得我想要的东西的最佳方式是什么?我的意思是我可以创建一个像 has(obj, prop) 一样工作的全局函数,但我更喜欢点格式,我想知道 javascript 可能有什么技巧,所以我正在寻找建议。
更新:这看起来很老套,但String.prototype.in = function(obj){return obj.hasOwnProperty(this)} 可以吗?然后我可以说if ( 'x'.in(myObj) ) {... 不幸的是,它增加了另一层函数调用,而不仅仅是别名 hasOwnProperty,但我喜欢这种语法。
【问题讨论】:
标签: javascript enumeration prototype-programming