这是我尝试的代码:
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 == '')
也行不通。此代码被命中两次,所以我需要它在第二个循环中为真。
答案 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));
}
==
运算符只会比较值,而===
会将值与类型进行比较。