为什么数组数组的未定义值返回为"undefined"我的条件不认为为真?



为什么typeof返回为"undefined"的数组的未定义值不被我的条件视为true?这与OR运算符有关吗。我的程序似乎正在运行内部条件,尽管它不应该在内部条件中。

if(typeof elemData !== 'undefined' || typeof rich[elemData.value] !== 'undefined') {
    if(typeof rich[elemData.value]['title'] !== 'undefined') {
        //do something
    }
}

程序返回以下内容:

> if(typeof rich[elemData.value]['title'] !== 'undefined') {
> 
> TypeError: Cannot read property 'title' of undefined

我正在检查rich[elemData.value]是否是'undefined',它说它不是通过我的条件。怎么回事?

当需要对条件进行AND运算时,您正在对条件进行OR运算。

if(typeof elemData !== 'undefined' || typeof rich[elemData.value] !== 'undefined') {

应为:

if(typeof elemData !== 'undefined' && typeof rich[elemData.value] !== 'undefined') {

最新更新