【发布时间】:2012-09-25 23:47:56
【问题描述】:
可能重复:
How do I check if an object has a specific property in JavaScript?
我在 Twitter 的 JavaScript 文件中发现了以下 sn-p。为什么他们需要调用hasOwnProperty 函数才能看到dict 有key 属性? for 循环为 'dict' 中的每个 'key' 运行,这意味着 'dict' 有 'key'。我错过了一点吗?
function forEach(dict, f) {
for (key in dict) {
if (dict.hasOwnProperty(key))
f(key, dict[key]);
}
}
【问题讨论】:
-
这里解释得很好:stackoverflow.com/a/136411/27512
-
好像
key是全球性的,这段代码是从哪里来的,你能发个链接吗? -
@elclanrs 我错了。这段代码来自 Chrome 的 utils.js
-
@elclanrs 更有可能他只是不知道他的代码正在创建这个全局,很容易忘记 for in 循环中的
var,edit:哦,我刚读到这不是他的代码……有趣 -
他一定是写了然后忘了。谷歌代码不可能漏掉括号而忘记
var。
标签: javascript