JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别


Posted in Javascript onMay 31, 2016

一、JavaScript"=="的作用

1.当==两边的内容是字符串时,则比较字符串的内容是否相等。
2.当==两边的内容是数字时,则比较数字的大小是否相等。
3.当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等。

二、==和===的区别

==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。

举例说明:

<script type="text/javascript">
alert("\"\"==true的结果是:"+(""==true));
alert("\"\"===true的结果是:"+(""===true));
alert("\"\"==的结果是:"+(""==));
alert("\"\"===的结果是:"+(""===));
</script>

"1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;此时,"==" 左右两边的类型都为数值型,比较成功!

"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

运行结果:

JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别

总结:

==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等

下面在给大家详细说明下JavaScript里面三个等号和两个等号的区别

== equality 等同,=== identity 恒等。

==, 两边值类型不同的时候,要先进行类型转换,再比较。

==,不做类型转换,类型不同的一定不等。

下面分别说明:

先说 ===,这个比较简单。

下面的规则用来判断两个值是否===相等:

1、如果类型不同,就[不相等]

2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)

3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。

4、如果两个值都是true,或者都是false,那么[相等]。

5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。

6、如果两个值都是null,或者都是undefined,那么[相等]。

再说 ==,根据以下规则:

1、如果两个值类型相同,进行 === 比较。

2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

a、如果一个是null、一个是undefined,那么[相等]。

b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,

令说(比较麻 烦,我也不大懂)

e、任何其他组合,都[不相等]。

举例:

"1" == true
类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。

= 赋值运算符
== 等于
=== 严格等于

例:

var a = 3;
var b = "3";

a==b 返回 true
a===b 返回 false

因为a,b的类型不一样
===用来进行严格的比较判断

Javascript 相关文章推荐
JavaScript 处理Iframe自适应高度(同或不同域名下)
Mar 29 Javascript
jQuery弹出(alert)select选择的值
Apr 21 Javascript
使用jquery实现div的tab切换实例代码
May 27 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
Node.js 制作实时多人游戏框架
Jan 08 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
Nov 30 Javascript
JavaScript同源策略和跨域访问实例详解
Apr 03 Javascript
vue debug 二种方法
Sep 16 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 #Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 #Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 #Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
May 31 #Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 #Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 #Javascript
BootStrap创建响应式导航条实例代码
May 31 #Javascript
You might like
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
学习jquery之一
2007/04/27 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
财务会计应届生求职信
2013/11/24 职场文书
30年同学聚会邀请函
2014/01/25 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
给老婆的保证书范文
2014/04/28 职场文书
环保建议书300字
2014/05/14 职场文书
质量月口号
2014/06/20 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
公司授权委托书范本
2014/09/18 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
全陪导游词
2015/02/04 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers