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 相关文章推荐
jQuery设置div一直在页面顶部显示的方法
Oct 24 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
node.js中 stream使用教程
Aug 28 Javascript
利用AngularJs实现京东首页轮播图效果
Sep 08 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
JS实现提交表单前的数字及邮箱校检功能
Nov 13 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
Dec 28 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
vue拖拽组件使用方法详解
Dec 01 Javascript
Node.js API详解之 vm模块用法实例分析
May 27 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
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缓存技术的使用说明
2011/08/06 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
php二维码生成
2015/10/19 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
Python实现扩展内置类型的方法分析
2017/10/16 Python
Django自定义用户认证示例详解
2018/03/14 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Python绘图实现显示中文
2019/12/04 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
Django视图、传参和forms验证操作
2020/07/15 Python
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
小学生检讨书大全
2014/02/06 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
项目经理任命书范本
2014/06/05 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
小学生读书笔记范文
2015/06/30 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL