无法检查jQuery var是否未定义

时间:2014-07-27 04:40:04

标签: jquery

这是我尝试的代码:

var moduleLoaded = jQuery.data("#module", "loaded");

if(typeof moduleLoaded === undefined)
{
    moduleLoaded = true;
    jQuery.data("#module", "loaded", moduleLoaded);
    console.log(jQuery.data("#module", "loaded", moduleLoaded));
}

if语句没有被击中。 我还尝试if(!moduleLoaded),然后收到错误"Cannot read property 'data' of undefined"if(moduleLoaded == '')也行不通。此代码被命中两次,所以我需要它在第二个循环中为真。

3 个答案:

答案 0 :(得分:3)

typeof运算符返回一个字符串,您应该将该值与'undefined'作为字符串进行比较。

答案 1 :(得分:1)

您看到的错误:

  

无法读取未定义的属性“数据”

表示未加载JQuery。

此外,if(typeof moduleLoaded === undefined)有误:typeof返回一个字符串,因此请使用'undefined'

答案 2 :(得分:0)

您也可以尝试以下

var moduleLoaded = jQuery.data("#module", "loaded");
if(typeof moduleLoaded == `undefined`)
{
    moduleLoaded = true;
    jQuery.data("#module", "loaded", moduleLoaded);
    console.log(jQuery.data("#module", "loaded", moduleLoaded));
}

==运算符只会比较值,而===会将值与类型进行比较。