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 快速结束当前正在执行的动画
Nov 20 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
JQuery日期插件datepicker的使用方法
Mar 03 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
Apr 06 Javascript
全面解析node 表单的图片上传
Nov 21 Javascript
javaScript 连接打印机,打印小票的实例
Dec 29 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
实现Vue的markdown文档可以在线运行的方法示例
Dec 11 Javascript
vue中多个倒计时实现代码实例
Mar 27 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
Dec 20 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
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
Angularjs 基础入门
2014/12/26 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
Python+django实现文件上传
2016/01/17 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
postman和python mock测试过程图解
2020/02/22 Python
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
共产党员岗位承诺书
2014/05/29 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
北大自主招生自荐信
2015/03/04 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript