javascript中的=等号个数问题两个跟三个有什么区别


Posted in Javascript onOctober 23, 2013

一个等号就是个赋值的作用,主要问题在于两个跟三个等号的区别。
javaScript中两个等于号和三个等于号之间的区别

一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。
===表示恒等于,比较的两边要绝对的相同

alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true

alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false

先说 ===,这个比较简单,具体比较规则如下:
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、任何其他组合(array数组等),都[不相等]。

当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。

Javascript 相关文章推荐
理解Javascript_01_理解内存分配原理分析
Oct 11 Javascript
JavaScript arguments 多参传值函数
Oct 24 Javascript
JavaScript中使用Object.create()创建对象介绍
Dec 30 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
JS实现页面打印功能
Mar 16 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
Sep 11 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
Mar 23 Javascript
jQuery实现简单飞机大战
Jul 05 jQuery
详解VUE中的插值( Interpolation)语法
Oct 18 Javascript
用js来获取上传的文件名纯粹是为了美化而用
Oct 23 #Javascript
ajax与302响应代码测试
Oct 23 #Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 #Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 #Javascript
Javascript简单实现可拖动的div
Oct 22 #Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 #Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 #Javascript
You might like
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
php 页面执行时间计算代码
2008/12/04 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
javascript 面向对象 function类
2010/05/13 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
jQuery实现动态加载瀑布流
2020/09/01 jQuery
详解python3实现的web端json通信协议
2016/12/29 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Numpy之reshape()使用详解
2019/12/26 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
应届大学生的推荐信
2013/11/20 职场文书
房地产广告词大全
2014/03/19 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
母亲节感言
2015/08/03 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技