文档章节

Javascript中双等号“==”和三等号“===”的区别

b
 bill_wu
发布于 2015/04/11 08:25
字数 297
阅读 60
收藏 0

我们会在一些代码中看到遇到“===”和“==”的写法,三等号与双等号有什么不同吗?在JavaScript中,===表示“恒等于”,==表示“等于”。=表示“赋值”。

  • =:赋值,在逻辑运算时也有效;
  • ==:等于运算,但是不比较值的类型;
  • ===:完全等于运算,不仅比较值,而且还比较值的类型,只有两者一致才为真。

运行体会一下以下的代码就会清楚了:
alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false

在复杂一些:

JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换。注意0的相等运算,例如:
""           ==   "0"           // false  
0            ==   ""            // true  
0            ==   "0"           // true  
false        ==   "false"       // false  
false        ==   "0"           // true  
false        ==   undefined     // false  
false        ==   null          // false  
null         ==   undefined     // true  
" \t "    ==   0             // true 

而恒等于不像普通的等于操作符,不会进行强制类型转换。这样的话上述的结果就不太相同了:
""           ===   "0"           // false  
0            ===   ""            // false  
0            ===   "0"           // false  
false        ===   "false"       // false  
false        ===   "0"           // false  
false        ===   undefined     // false  
false        ===   null          // false  
null         ===   undefined     // false  
" \t "    ===   0             // false 

本文转载自:http://www.weste.net/2013/3-1/89405.html

共有 人打赏支持
b
粉丝 1
博文 27
码字总数 3992
作品 0
广州
私信 提问
小程序和Vue关于绑定数据书写上的区别

一、书写格式上 1、绑定事件 Vue: 小程序: Vue是通过:事件名字='回调函数名'。 小程序以或开头,后面跟着事件类型,例如、。自基础库版本1.5.0起,和后可以紧跟一个冒号,其含义不变,如。...

fenerchen
06/02
0
0
JavaScript 的怪癖 3:标准的等号 (==)

原文:JavaScript quirk 3: normal equality (==) 译文:JavaScript 的怪癖 3:标准的等号 (==) 译者:iranw 此文是 javascript 的 12 个怪癖(quirks) 系列的第三篇。 让我们先看一个简单的...

justjavac
2013/04/28
484
8
从一行等式理解JS当中的call, apply和bind

关于JS当中的call,apply和bind,相信大家和我一样,已经看过了无数篇相关的文章,都有自己的理解。所以这篇文章并非什么科普类的文章,仅仅是把我自己的理解记录下来。 我的学习习惯,是喜欢...

孟飞阳
04/20
0
0
Javascript中的陷阱大集合【译】

英文原文:A Collection of JavaScript Gotchas 译文作者:王国峰 译文标题:Javascript中的陷阱大集合【译】 译文链接:http://www.itivy.com/ivy/archive/2011/11/13/my-javascript-gotch...

谭sir
2012/08/19
0
0
用javascript来回答宇宙外面是什么

宇宙外面是什么呢?估计这个问题要困扰很多人,让我们用一段javascript代码来回答一下。 一、从一段代码说起 var 地球 = {名字 : "地球",女友 : "月亮",外面 : {名字 : "太阳系",老大 : "太阳...

国栋
2014/09/02
0
3

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
11
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部