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 相关文章推荐
js 页面执行时间计算代码
Mar 04 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
用js实现in_array的方法
Nov 05 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
动态加载js的方法汇总
Feb 13 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
Nov 21 Javascript
微信小程序实现评论功能
Nov 28 Javascript
浅谈js闭包理解
Apr 01 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 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生成静态页
2006/11/25 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP的自定义模板引擎
2017/03/24 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
jQuery中:file选择器用法实例
2015/01/04 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
Python中关于使用模块的基础知识
2015/05/24 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
python环境下安装opencv库的方法
2020/03/05 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
数学专业推荐信范文
2013/11/21 职场文书
优秀干部获奖感言
2014/01/31 职场文书
《春天来了》教学反思
2014/04/07 职场文书
出纳试用期自我评价
2015/03/10 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL