Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 为什么结果与我预期的不同?_Javascript - Fatal编程技术网

Javascript 为什么结果与我预期的不同?

Javascript 为什么结果与我预期的不同?,javascript,Javascript,emptyWord=''; if(emptyWord!==false){ 控制台日志(1); }否则{ 控制台日志(2); }您使用的!==错误而非!=错误。当您使用时==它不是检查“falsy”,而是检查它是否真的是false console.log(“”!=false); console.log(“”!==false)它将始终返回true,因为: emptyword不是严格等于(==表示严格等于)false 您可能正在寻找的是!=,例如,在这种情况下,它会将值0转换为false。这里要注意

emptyWord='';
if(emptyWord!==false){
控制台日志(1);
}否则{
控制台日志(2);

}
您使用的
!==错误
而非
!=错误
。当您使用
时==它不是检查“falsy”,而是检查它是否真的是
false

console.log(“”!=false);

console.log(“”!==false)它将始终返回true,因为: emptyword不是严格等于(==表示严格等于)false

您可能正在寻找的是!=,例如,在这种情况下,它会将值0转换为false。这里要注意的是,严格等于和纯等于(==vs==)之间存在差异

英文:

emptyword不等于false吗?在这种情况下,它是正确的,因此它进入第一条: 控制台日志(1)

更多示例请参见此处:
你应该使用=错误,因为==false严格地寻找非false

emptyWord = '';

if (emptyWord != false) {
    console.log(1);
} else {
    console.log(2);
}

这个!==操作员检查变量的类型是否相同。 那个!=操作员检查是否只有值相同

“”和false在js中的值相同,但“”是字符串,false是布尔值

如果要获得2作为返回,则需要将代码更改为:

emptyWord = '';

if (emptyWord != false) {
    console.log(1);
} else {
    console.log(2);
}
(“”!==false)为真。
(“”!=false)为false。

但是
emptyWord
false
不同
emptyWord
是一个字符串。它既不是
真的
也不是
假的
.Doh!我明白我的错误了!