我对JavaScript中的if语句和布尔值评估有疑问。
我在jsFiddle上创建了click的例子,有四个不同的函数可以通过循环来计算数组中的类型。
但是我们只关注功能b和c。
function b(p) {
return (p == true);
}
function c(p) {
if (p) {
return true;
}
else {
return false;
}
}
正如您在控制台中看到的结果不同,例如,-1和'Hello'对c为真,而b为false。
为什么会这样?
感谢您的关注!
答案 0 :(得分:-1)
-1 != true
和Hello != true
但-1
和Hello
都是真实的,并且在转换为布尔值(if语句的作用)时评估为true是为什么
if('Hello') {
return true;
} else {
return false;
}
返回true;