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 相关文章推荐
jquery tablesorter.js 支持中文表格排序改进
Dec 09 Javascript
使用js 设置url参数
Jul 08 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
Jan 10 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
JS中Attr的用法详解
Oct 09 Javascript
20多个小事例带你重温ES10新特性(小结)
Sep 29 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
Feb 02 Javascript
js实现的订阅发布者模式简单示例
Mar 14 Javascript
Vue如何提升首屏加载速度实例解析
Jun 25 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
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通用防注入程序 推荐
2011/02/26 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
详解Jquery实现ready和bind事件
2016/04/14 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
Python的函数嵌套的使用方法
2014/01/24 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python中for循环和while循环的基本使用方法
2015/08/21 Python
Python reduce()函数的用法小结
2017/11/15 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
python函数与方法的区别总结
2019/06/23 Python
使用Python的turtle模块画国旗
2019/09/24 Python
Python换行与不换行的输出实例
2020/02/19 Python
房地产销售员的自我评价分享
2013/12/04 职场文书
医学生求职信
2014/07/01 职场文书
教师节活动总结
2014/08/29 职场文书
学校教代会开幕词
2016/03/04 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
python游戏开发之pygame实现接球小游戏
2022/04/22 Python