Javascript数组的值是未定义的...我该如何测试

这个问题在这里已经有了答案:

  • JavaScript检查变量是否存在(已定义/初始化)28个答案

  • array[index] == 'undefined'将数组索引的值与字符串“undefined”进行比较。
    你可能正在寻找typeof array[index] == 'undefined' ,它比较了类型。


    您正在检查数组索引是否包含字符串"undefined" ,您应该使用typeof运算符:

    typeof predQuery[preId] == 'undefined'
    

    或者使用undefined全局属性:

    predQuery[preId] === undefined
    

    第一种方法更安全,因为undefined全局属性是可写的,并且可以更改为任何其他值。


    predQuery[preId]=='undefined'
    

    您正在测试字符串'undefined' ; 您已经将此测试与将返回字符串的typeof测试混淆了。 您可能的意思是针对undefined的特殊值进行测试:

    predQuery[preId]===undefined
    

    请注意strict-equality操作符以避免通常不需要的匹配null==undefined

    然而,有两种方法可以得到一个undefined值:要么preId是不是成员predQuery ,或者它是一个成员,但已设置为特殊的值undefined值。 通常情况下,你只想检查它是否存在。 在这种情况下in运营商更合适:

    !(preId in predQuery)
    
    链接地址: http://www.djcxy.com/p/95003.html

    上一篇: Javascript array value is undefined ... how do I test for that

    下一篇: JS: How to check if a variable is NOT undefined