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 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
javascript oop开发滑动(slide)菜单控件
Aug 25 Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
Feb 22 Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 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实现的随机广告显示代码
2007/06/14 PHP
网页中的图片的处理方法与代码
2009/11/26 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
vue设置动态请求地址的例子
2019/11/01 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
ES6 十大特性简介
2020/12/09 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python去掉空白行的多种实现代码
2018/03/19 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
django-filter和普通查询的例子
2019/08/12 Python
Python函数中的可变长参数详解
2019/09/12 Python
解决python运行启动报错问题
2020/06/01 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
华为python面试题
2016/05/03 面试题
思想政治自我鉴定
2013/10/06 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
大型会议接待方案
2014/03/01 职场文书
我爱我校演讲稿
2014/05/21 职场文书
英语专业求职信
2014/07/08 职场文书
中学教师教学工作总结
2015/08/13 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
Python if else条件语句形式详解
2022/03/24 Python
vue使用watch监听属性变化
2022/04/30 Vue.js