【发布时间】:2014-03-06 10:19:13
【问题描述】:
如果我有 javascript 数组,里面有对象,像这样
articlesParams[itemId].properties.loaded
如果我尝试这样做:
if ( typeof articlesParams[itemId].properties.loaded != 'undefined' && ...) {
// do something...
}
我遇到的问题是,如果 articleParams[itemId].properties 未定义,我收到一个错误:无法读取未定义的属性“properties”。
所以在这种情况下,我应该做一些像这样愚蠢的事情:
if ( typeof articlesParams[itemId].properties != 'undefined' &&
typeof articlesParams[itemId].properties.loaded != 'undefined' && ...) {
// do something...
}
在 javascript 中是否有类似 PHP isset() 的等价物?
【问题讨论】:
-
是的,有一个等价物,
typeof articlesParams[itemId].properties == 'undefined'。 -
phpjs项目有一个用于 Javascript 的isset实现。如果这真的是你想要的。 -
听起来您实际上遇到了错误,因为
articlesParams[itemId]未定义,而不是因为properties未定义。 -
对不起,伙计们,我在我的问题中发现了一个错字:articlesParams[itemId].properties == 'undefined' 应该是:articlesParams[itemId].properties != 'undefined'(已更正)
-
但是问题还是一样,没有解决
标签: javascript boolean-logic typeof