javascript等号运算符使用详解


Posted in Javascript onApril 16, 2015

本章节介绍一下javascript中等号运算符的用法,需要的朋友可以做一下参考。

等号运算符最为基本的用法就是比较两个运算数是否相等,看如下代码实例:

var a=2,b=2;

console.log(a==b);

如果两个操作数相等,那么返回值就是true,否则返回false。
上面是最为基本的用法,下面再来介绍一下它相对比较特殊的几种情况。

var str="5";

var num=5;

console.log(str==num);

上面的代码返回值是true。

不少朋友可能会有疑问,一个是字符串,一个是数值类型,怎么返回值是true,当然这在c#或者java肯定是错误的,但是在js中这一切都不是问题,会进行隐式数据类型转换,字符串会尝试转换为数字。
再来看一段代码实例:

console.log(true==1);

上面的代码也会返回true,因为true也会进行隐式转换,它将会被转换为1,false将会被转换为false。
下面再看一段代码实例:

var obj={

  valueOf:function(){return 10}

}

console.log(obj==10);

一个对象竟然可以和一个数字直接量比较大小,并且返回值是true。
这是因为对象会首先调用valueOf()方法,如果没有此方法则尝试调用toString()方法。

javascript的两个等号和三个等号的区别:

在javascript代码经常看到三个等号和两个等号的使用,下面就介绍一下它们两者的区别是什么。
代码实例:
实例一:

console.log(0=="");

console.log(0==false);

console.log(""==false);

实例二:

console.log(0==="");

console.log(0===false);

console.log(""===false);

上面你的代码演示了两个运算符的,下面介绍一下它们两者的区别。

三个等号全等运算符:

既然是全等运算符,那么两个运算数必须完全一样才能够相等,具体比较规则如下:

1.如果两个操作是值类型,那么两个操作数必须完全相等才会相等。
2.如果是引用类型,两个操作数必须指向同一个对象才会相等。

两个等号运算符:

这个运算符比较博爱一些,在比较的时候如果两个操作数的类型不同,会进行类型转换,具体规则如下:

1.如果是数据类型相同的值类型,那么比较规则和全等运算符相同。
2.如果两个操作数类型相同,那么它们也是有可能相同的:
a:如果一个是null、一个是undefined,那么两个是相同的。
b:如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c:如果任一值是true,把它转换成1再比较,如果任一值是false,把它转换成0再比较。
d:如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。

以上就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
JQUERY 设置SELECT选中项代码
Feb 07 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
vue实现提示保存后退出的方法
Mar 15 Javascript
Vue 源码分析之 Observer实现过程
Mar 29 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
浅谈KOA2 Restful方式路由初探
Mar 14 Javascript
vue spa应用中的路由缓存问题与解决方案
May 31 Javascript
通过原生vue添加滚动加载更多功能
Nov 21 Javascript
php常见的页面跳转方法汇总
Apr 15 #Javascript
jquery图片切换实例分析
Apr 15 #Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 #Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 #Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 #Javascript
jquery实现简单的无缝滚动
Apr 15 #Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 #Javascript
You might like
中国收音机工业发展史
2021/03/02 无线电
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
php实现的操作excel类详解
2016/01/15 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
用python处理MS Word的实例讲解
2018/05/08 Python
详解Python3的TFTP文件传输
2018/06/26 Python
pandas 时间格式转换的实现
2019/07/06 Python
python3调用windows dos命令的例子
2019/08/14 Python
Python常用库大全及简要说明
2020/01/17 Python
python操作yaml说明
2020/04/08 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
教师个人鉴定材料
2014/02/08 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
干部鉴定材料
2014/05/18 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
新手初学Java网络编程
2021/07/07 Java/Android