我正在遍历一组简单的(JSON 样式)对象,其中一些具有给定的属性,而另一些则没有。如果他们具有该属性,则可以安全地假设它永远不会评估为虚假值。
var objs = [
{'a': 1, 'b': 2, 'c': 3},
{'a': 4, 'b': 5},
{'a': 7, 'b': 8, 'c': 9}
];
我相当大的应用程序在 Internet Explorer 8 中触发了一些(非常无用的)错误,因此我只想将其从潜在问题列表中删除。使用是否安全:
for (var i = 0; i < objs.length; ++i) {
if (objs[i].c) {
// objs[i].c is defined
}
}
我在应用程序代码中多次使用这种检查,但我需要使用obj.hasOwnProperty('c')
ortypeof obj.c != 'undefined'
吗?
谢谢。