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 checkbox 全选/反选及批量删除
Apr 28 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
JavaScript prototype 使用介绍
Aug 29 Javascript
JavaScript入门教程之引用类型
May 04 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
分享javascript实现的冒泡排序代码并优化
Jun 05 Javascript
Vue.js学习笔记之 helloworld
Aug 14 Javascript
JavaScript基本类型值-Number类型
Feb 24 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
在 Angular中 使用 Lodash 的方法
Feb 11 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 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
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
jquery multiSelect 多选下拉框
2010/07/09 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python时间戳使用和相互转换详解
2017/12/11 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
python3字符串输出常见面试题总结
2020/12/01 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
自我评价的正确写法
2013/09/19 职场文书
教你怎样写好自我评价
2013/10/05 职场文书
网络书店创业计划书
2014/02/07 职场文书
体育专业自荐书
2014/05/29 职场文书
个人四风问题整改措施
2014/10/24 职场文书
服务明星事迹材料
2014/12/29 职场文书
python基础之匿名函数详解
2021/04/21 Python