var hungry = true;
var foodHere = true;
var eat = function() {
if (hungry && foodHere === true) {
return(true);
} else {
return(false);
}`
};
Run Code Online (Sandbox Code Playgroud)
第一行是正确的语法.很长一段时间我只是说hungry && foodHere = true...我无法弄清楚(并且仍然不明白)为什么这是错误的.我理解=(赋值)和===(等于)之间的区别.我true最初将变量分配给了,所以我不会在if语句中询问它们是否被设置为什么?为什么我=要在var定义中设置变量,但是在检查它们时我正在使用该===值?
=仅用于分配变量.===或==用于比较.举个好例子,我们必须研究比较运算符.
比较运算符的语法非常简单,使用它们来计算表达式.比较运营商是:
=== //strict equality
== //Parsed or partial equality
> //Greater Than
< //Less than
>= //Greater than or equal to
<= //Less than or equal to
Run Code Online (Sandbox Code Playgroud)
要正确使用这些,您必须知道正确的语法.例如,我做不到这样的事情:
if(true == 1 === true) //do something
Run Code Online (Sandbox Code Playgroud)
因为这将使代码无效,并通过大量使用减慢它==,这将我带到我的下一部分.
JavaScript中的两个相等运算符是==和===.他们做了两件完全不同的事情.
strict(===)测试两个值是否完全等价,包括类型和值.
Parsed equality(==)测试两个值是否在值上是否相等,但是解析以尝试连接不同的类型.
JavaScript(!==)中存在两个主要的不等式值,它们基于等式(===,和==)是非常自我解释的,
这里是解释三者的图表.
1 0 true false null undefined ""
1 === !== == !== !== !== !==
0 !== === !== == == == !==
true == !== === !== !== !== !==
false !== == !== === == == ==
null !== == !== == == == ==
undefined !== == !== == == === !==
"" !== == !== == == !== ===
Run Code Online (Sandbox Code Playgroud)
添加到@jcollum所说的,=定义一个变量值,并if(something === true)简化为if(something).同样,if(something === false)简化为if (!something).
您还需要单独进行比较.if(7 & 6 < 10)返回false,因为它是.的简化版本if(7 === true && 6 < 10).
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |