在javascript == vs =?

o_O*_*o_O 0 javascript jquery operators

很抱歉,如果这个发布了很多,但搜索字段喜欢重新调整"=",所以很难搜索== javascript"== javascript"等.

但我有一些我正在编写的代码,在某些地方==是必需的,而在其他地方=是必需的.有人可以解释这些差异或指出我可以在资源方向上做些什么?

例:

if ($('#block').css.display=='none') {
$('#block').css.display='block';
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一一件事是,我正在改变,而另一方面我正在检查.但在这两者中我指的是平等.

Ran*_*unt 12

=是赋值运算符.它将变量(左侧)设置为值(右侧).

==是比较运算符.无论操作数的类型如何,它都会告诉您两个值是否相等.

===是一个更严格的比较运算符,通常称为标识运算符.如果操作数的类型和值都相同,它将仅返回true.

我会结帐:http://www.codecademy.com/tracks/javascript快速入门javascript.

如果您愿意阅读:https://developer.mozilla.org/en-US/docs/JavaScript/Guide也是一个很好的介绍.

对于那些关注"身份运营商"一词来源的人来说,jbabey指出JavaScript:The Definitive Guide似乎是一个来源.

  • AHHHH没有w3schools!**不要这样做!!** (8认同)
  • +1.`===`也称为"身份运营商" (4认同)
  • `==`和`===`都检查操作数的类型.他们可能会对那些区分它们的检查结果做些什么. (2认同)
  • p ......它好像从未发生过......感谢ninja编辑^ _ ^ (2认同)
  • @Dennis我认为它可能在某个时间点在MDN上.我不知道它起源于哪里,但它是一个相当常见的短语(google为"javascript身份运营商") (2认同)

Nea*_*eal 5

= 为变量赋值

== 检查两个参数是否彼此相等

===检查两个参数是否彼此相等以及它们的类型是否相同


! 不是运算符

!= 检查两个参数是否彼此不相等

!==检查两个参数是否彼此不相等类型不相同


多一个

> 检查一个参数是否大于另一个

>= 检查一个参数是否大于或等于另一个

>== 不存在


等等……