检查变量是null还是NOT

时间:2011-06-28 10:33:28

标签: javascript

var DEST_VALUE = 1
var APPDAYS_AFTER = 2

}

如何检查变量是否包含某些值。当我这样做时,它不起作用......

3 个答案:

答案 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