Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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-If语句返回Null,不管条件如何_Javascript - Fatal编程技术网

Javascript-If语句返回Null,不管条件如何

Javascript-If语句返回Null,不管条件如何,javascript,Javascript,我试图弄明白为什么我的if语句发送的是true输出,尽管在if语句中考虑了null情况。有人能解释我的条件出了什么问题,以及为什么null触发true吗 if(startDate || startDate != null){ filterQuery.push('dateStart=' + startDate); } 在存在空值的实例中输出dateStart=null。使用 if(typeof startDate !== "undefined") { 您已经知道,typ

我试图弄明白为什么我的if语句发送的是true输出,尽管在if语句中考虑了null情况。有人能解释我的条件出了什么问题,以及为什么null触发true吗

if(startDate || startDate != null){
            filterQuery.push('dateStart=' + startDate);
}
在存在空值的实例中输出
dateStart=null

使用

if(typeof startDate !== "undefined") {

您已经知道,
typeofstartdate
为您提供了
“字符串”
。这就是您的问题:
“null”
是一个真实值(因此它通过了第一次测试),即
!=null
(因此它通过了第二次测试)。因此,您的条件为true,并且输出将字符串
“null”
连接到错误消息。

什么是
类型的起始日期返回?如果
startDate
确实为
null
,则该条件肯定为false。(如果
startDate
undefined
,则为false)它返回string,但不需要该条件的第一部分。不要告诉我是字符串
“null”
,这将非常有趣。任何认为将字符串
“null”
分配给变量是个好主意的人都会感到困惑。这与
null
值有什么关系?这实际上将确保
null
将被打印,这是OP不想要的。你们可能想检查一下这个很棒的调用。我应该先默认使用
typeof
,然后再假设它是一个实际的
null