var DEST_VALUE = 1
var APPDAYS_AFTER = 2
}
如何检查变量是否包含某些值。当我这样做时,它不起作用......
答案 0 :(得分:4)
当然它没有做任何事情,因为在您的示例DEST_VALUE
中解析为真APPDAYS_AFTER
。在javascript中转换为布尔值时解析为false的值为:
false
null
undefined
The empty string ''
The number 0
The number NaN (yep, 'Not a Number' is a number, it is a special number)
如果你写
if(!DEST_VALUE){
txtSiteId.value = fileContents.Settings.SiteID;
}
你写“如果DEST_VALUE
不是真的做某事”(在你的情况下它什么都不做)。如果要检查变量是否包含值:
if(DEST_VALUE !== undefined){
//do something
}
答案 1 :(得分:0)
我使用这样的函数来检查变量是否为空:
function empty( mixed_var ) {
return ( typeof(mixed_var) === 'undefined' || mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false );
}
答案 2 :(得分:0)
我认为你的意思是“保留一些价值”,就像“变量已经创建,所以它存在”,对吧?否则,你的方法完全正常。
如果要检查javascript中是否存在变量,则必须检查其父对象的属性 - 否则脚本将失败。 javascript中的每个对象都属于父对象,即使它看起来是全局的(然后,它属于window对象)。所以,试试类似:
if (window.DEST_VALUE) // do something