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 相关文章推荐
JavaScript动态添加列的方法
Mar 25 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
canvas时钟效果
Feb 16 Javascript
Bootstrap3 模态框使用实例
Feb 22 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
Node.js开发第三方微信公众平台
Jun 05 Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 Javascript
详解vue.js数据传递以及数据分发slot
Jan 20 Javascript
详解AngularJS 过滤器的使用
Jun 02 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 Javascript
vuex state中的数组变化监听实例
Nov 06 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
PHP安装全攻略:APACHE
2006/10/09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
python实现点对点聊天程序
2018/07/28 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python OS模块实例详解
2019/04/15 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python超时重新请求解决方案
2019/10/21 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
运动会闭幕式解说词
2014/02/21 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
科技活动周标语
2014/10/08 职场文书
停水通知
2015/04/16 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang