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 相关文章推荐
16个最流行的JavaScript框架[推荐]
May 29 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
Nov 09 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
RequireJS 依赖关系的实例(推荐)
Jan 21 Javascript
ES6下React组件的写法示例代码
May 04 Javascript
JS实现简单短信验证码界面
Aug 07 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
May 08 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
express如何解决ajax跨域访问session失效问题详解
Jun 20 Javascript
JavaScript监听一个DOM元素大小变化
Apr 26 Javascript
微信小程序使用GoEasy实现websocket实时通讯
May 19 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做推送服务端实现ios消息推送
2013/07/01 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python直接访问私有属性的简单方法
2016/07/25 Python
python实现俄罗斯方块游戏
2020/03/25 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
Python hashlib模块的使用示例
2020/10/09 Python
thinkphp5 路由分发原理
2021/03/18 PHP
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
运动会广播稿200米
2014/01/27 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
教书育人演讲稿
2014/09/11 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
商场营业员岗位职责
2015/04/14 职场文书
政审证明范文
2015/06/19 职场文书
解约证明模板
2015/06/19 职场文书
事业单位岗位说明书
2015/10/08 职场文书
技术入股合作协议书
2016/03/21 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python