【发布时间】:2013-11-21 03:51:26
【问题描述】:
所以,我正在检查列表(哈希)中的一个键,我必须以两种不同的方式对其进行编码,但忘记删除它的一部分。哈哈。但对我来说,看着它 - 它似乎是多余的。是这样吗?
var somelist = {
a : 'somevalue1',
b : 'somevalue1',
c : 'somevalue1',
d : 'somevalue1',
e : 'somevalue1',
f : 'somevalue1'
}
for(var key in somelist ){
if(somelist.hasOwnProperty(key)){ // <-- redundant
// do something
}
}
如果我们通过键循环 - 那么假设是,它是列表的一个属性,是吗?我想确保我的大脑没有被烧坏。 :-)
我看了这两个帖子:
How do I check if an object has a property in JavaScript?
但我的用法似乎更温和。既然我这里声明了var key,难道不是本地的,不用担心原型链冲突吗?
所以,在我的使用中——它是多余的或不需要的——但这会被认为是“糟糕的形式”。似乎是因为我没有这个哈希值坐在构造函数中,所以我不必担心原型继承等......
所以,我的两个问题是:
既然我在这里声明了 var key,那它不是本地的,我不用担心原型链冲突吗?
即使不需要,我在此处的使用是否会被视为“不良形式”?我想保持某些编码标准 - 但也许我的意图是错误的。
【问题讨论】:
标签: javascript