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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
Mar 03 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 Javascript
教你快速搭建Node.Js服务器的方法教程
Mar 30 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
Sep 11 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 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 输出缓存详解
2009/06/20 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
js正则相关知识点专题
2018/05/10 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
小程序页面动态配置实现方法
2019/02/05 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Flask之flask-session的具体使用
2018/07/26 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
django中media媒体路径设置的步骤
2019/11/15 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
python开根号实例讲解
2020/08/30 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
文秘求职信范文
2014/04/10 职场文书
推荐信模板
2014/05/09 职场文书
企业金融服务方案
2014/06/03 职场文书
2014年应急工作总结
2014/12/11 职场文书
2015年财务部工作总结
2015/04/10 职场文书
教师调动申请报告
2015/05/18 职场文书
工作简报格式范文
2015/07/21 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
Python pandas求方差和标准差的方法实例
2021/08/04 Python