提问人:o_O 提问时间:8/9/2012 最后编辑:Sebastian Simono_O 更新时间:11/10/2022 访问量:7216
'='和'=='运算符与'==='有什么区别?(单等、双等和三等)
What is the difference between the `=` and `==` operators and what is `===`? (Single, double, and triple equals)
问:
我写了一些代码,在某些地方是必需的,在其他地方是必需的。有人可以解释差异或为我指出可以的资源方向吗?==
=
例:
if($("#block").css.display == "none"){
$("#block").css.display = "block";
}
我唯一能想到的是,在一个方面我正在改变,而在另一个方面我正在检查。但在两者中,我都指的是平等。
答:
4赞
grdaneault
8/9/2012
#1
== 用于测试左边的值是否等于右边的值。
= 用于将右边的值分配给左边的变量。
17赞
Randall Hunt
8/9/2012
#2
=
是赋值运算符。它将变量(左侧)设置为值(右侧)。结果是右侧的值。
==
是比较运算符。仅当两个值在强制其类型为同一类型后相等时,它才会返回。true
===
是一种更严格的比较运算符,通常称为标识运算符。仅当操作数的类型和值相同时,它才会返回。true
我会查看 CodeCademy 以获取 JavaScript 的快速介绍。
如果你想阅读更多内容,MDN也是一个很好的介绍。
对于那些关心“身份运算符”一词来源的人,jbabey 指出 JavaScript: The Definitive Guide 似乎提到了它。
评论
3赞
8/9/2012
并检查操作数的类型。正是他们可能对这些检查的结果做些什么,使他们与众不同。==
===
0赞
Dennis
8/9/2012
@jbabey 您能提供“身份运算符”的来源吗?ECMA-262 将其称为“严格等于运算符”。
2赞
jbabey
8/9/2012
@Dennis我认为它可能在某个时间点出现在 MDN 上。我不确定它起源于哪里,但它是一个相当常见的短语(谷歌为“javascript 身份运算符”)
1赞
jbabey
8/9/2012
@Dennis啊,我们开始了。广为人知的《JavaScript: The Definitive Guide》一书使用了“身份运算符”一词。它可能起源于这里(或者至少变得更加普遍)。
3赞
Bruno Costa
8/9/2012
#3
在 javascript 中,你还有 ===。
=
这是为了将值设置为变量。
==
如果值相同,则用于比较。
===
这是为了比较值是否相同,类型也相同。
6赞
Naftali
8/9/2012
#4
=
为变量赋值
==
检查两个参数是否相等
===
检查两个参数是否相等,以及它们的类型是否相同
!
非运算符
!=
检查两个参数是否不相等
!==
检查两个参数是否不相等或类型不相同
再来一个
>
检查一个参数是否大于另一个参数
>=
检查一个参数是否大于或等于另一个参数
>==
不存在
诸如此类。。。
评论
1赞
jbabey
8/9/2012
我想你的意思是:“检查两个参数是否彼此不相等或类型是否相同”。德摩根斯:P
3赞
kakridge
8/9/2012
#5
= 运算符是赋值运算符。您正在将对象分配给值。== 运算符是条件相等运算。您正在确认两个事物的值是否相等。还有一个 === 运算符。这不仅比较了值,还比较了类型。
评论