Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查变量是否为null_Javascript - Fatal编程技术网

Javascript 检查变量是否为null

Javascript 检查变量是否为null,javascript,Javascript,如何检查变量是否包含某个值。当我这样做时,它不起作用 我使用该函数检查变量是否为空: var DEST_VALUE = 1 var APPDAYS_AFTER = 2 } 我使用该函数检查变量是否为空: var DEST_VALUE = 1 var APPDAYS_AFTER = 2 } 当然它没有任何作用,因为在您的示例中,DEST\u VALUE解析为true,就像APPDAYS\u之后的值一样。在javascript中转换为布尔值时解析为false的值为: function emp

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

我使用该函数检查变量是否为空:

var DEST_VALUE = 1
var APPDAYS_AFTER = 2

}

我使用该函数检查变量是否为空:

var DEST_VALUE = 1
var APPDAYS_AFTER = 2

}

当然它没有任何作用,因为在您的示例中,
DEST\u VALUE
解析为true,就像
APPDAYS\u之后的值一样。在javascript中转换为布尔值时解析为false的值为:

function empty( mixed_var ) {
    return ( typeof(mixed_var) === 'undefined' || mixed_var === "" || mixed_var === 0   || mixed_var === "0" || mixed_var === null  || mixed_var === 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)
你写“如果
DEST\u值
不正确,做点什么”(在你的例子中,它什么也不做)。如果要检查变量是否包含值:

if(!DEST_VALUE){
    txtSiteId.value = fileContents.Settings.SiteID;
}

当然它没有任何作用,因为在您的示例中,
DEST\u VALUE
解析为true,就像
APPDAYS\u之后的值一样。在javascript中转换为布尔值时解析为false的值为:

function empty( mixed_var ) {
    return ( typeof(mixed_var) === 'undefined' || mixed_var === "" || mixed_var === 0   || mixed_var === "0" || mixed_var === null  || mixed_var === 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)
你写“如果
DEST\u值
不正确,做点什么”(在你的例子中,它什么也不做)。如果要检查变量是否包含值:

if(!DEST_VALUE){
    txtSiteId.value = fileContents.Settings.SiteID;
}
我想你的意思是“保存一些值”,比如“变量已经创建,所以它存在”,对吗?否则,您的方法将非常有效

如果要检查javascript中是否存在变量,必须检查其父对象的属性,否则脚本将失败。javascript中的每个对象都属于父对象,即使它看起来是全局的(然后,它属于窗口对象)。因此,尝试以下方法:

if(DEST_VALUE !== undefined){
     //do something
}
if(窗口目标值) //做点什么 我想你的意思是“保存一些值”,比如“变量已经创建,所以它存在”,对吗?否则,您的方法将非常有效

如果要检查javascript中是否存在变量,必须检查其父对象的属性,否则脚本将失败。javascript中的每个对象都属于父对象,即使它看起来是全局的(然后,它属于窗口对象)。因此,尝试以下方法:

if(DEST_VALUE !== undefined){
     //do something
}
if(窗口目标值) //做点什么

这将按预期工作-如果<代码>条件的计算结果为<代码>真<代码>那么内部代码将永远不会被命中。您试图实现什么?
如果(!DEST\u VALUE)
如果(DEST\u VALUE==null)
相同,并且从代码来看,这将始终是
false
。因此它不会产生任何结果。@Talha的可能重复项不是严格意义上的true-如果
DEST\u VALUE
为0,它也将计算为
true
@Talha:“
如果(!DEST\u VALUE)
如果(DEST\u VALUE==null)
”不,它不会。例如,
!0
为true,但
0==null
为false。更重要的是,如果(!DEST_VALUE)
null
无关,除非
DEST_VALUE
恰好是
null
(在这种情况下,表达式为true)。这是关于将给定值强制为布尔值,而不是将其与
null
进行比较。这将按预期工作-如果
条件的计算结果为
true
,则
条件都不会计算为
true,因此内部代码永远不会被命中。您试图实现什么?
如果(!DEST\u VALUE)
如果(DEST\u VALUE==null)
相同,并且从代码来看,这将始终是
false
。因此它不会产生任何结果。@Talha的可能重复项不是严格意义上的true-如果
DEST\u VALUE
为0,它也将计算为
true
@Talha:“
如果(!DEST\u VALUE)
如果(DEST\u VALUE==null)
”不,它不会。例如,
!0
为true,但
0==null
为false。更重要的是,如果(!DEST_VALUE)
null
无关,除非
DEST_VALUE
恰好是
null
(在这种情况下,表达式为true)。它是将给定值强制为布尔值,而不是将其与
null
进行比较。为什么要这样做<代码>!myVar
检查'falsy'值,而不仅仅是显式的
false
(例如
myVar==false
),因此您不需要一个臃肿的函数来执行与本机语言功能相同的操作。顺便说一句,
“0”
的字符串表示形式不应该计算为
false
,只有一个空字符串…@Chris,这是他的职责,如果它符合他对“空”的定义,他可以这样做。它和我的不匹配,但是…:-)是-该功能已更改多次,您可以看到最终结果。为什么?没有使用myVar,因为一切都不是那么简单。我遇到了一些问题,当它没有像我预期的那样工作。你为什么要这么做<代码>!myVar
检查'falsy'值,而不仅仅是显式的
false
(例如
myVar==false
),因此您不需要一个臃肿的函数来执行与本机语言功能相同的操作。顺便说一句,
“0”
的字符串表示形式不应该计算为
false
,只有一个空字符串…@Chris,这是他的职责,如果它符合他对“空”的定义,他可以这样做。它和我的不匹配,但是…:-)是-该功能已更改多次,您可以看到最终结果。为什么?没有使用myVar,因为一切都不是那么简单。我也遇到了一些问题,因为它的工作方式和我预期的不一样。这将引发ReferenceError,因为您可能无法引用JS中未声明的变量。请参阅我的答案以获得解决方案。@Steffen:问题清楚地显示了所声明的变量。但是FileNotFound呢???这将引发ReferenceError,因为您可能无法引用JS中未声明的变量。请参阅我的答案以获得解决方案。@Steffen:问题清楚地显示了所声明的变量。但是FileNotFound呢???