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 相关文章推荐
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
Feb 12 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
纯js实现手风琴效果
Apr 17 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
详解vue-cli构建项目反向代理配置
Sep 07 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
laypage.js分页插件使用方法详解
Jul 27 Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 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的责任链编程模式
2015/08/11 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
js静态作用域的功能。
2006/12/25 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
jquery禁用右键示例
2014/04/28 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
js实现随机点名功能
2020/12/23 Javascript
Python中文竖排显示的方法
2015/07/28 Python
Python数组定义方法
2016/04/13 Python
python删除字符串中指定字符的方法
2018/08/13 Python
python实现多人聊天室
2020/03/31 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
Python函数中的可变长参数详解
2019/09/12 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
Python enumerate内置库用法解析
2020/02/24 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
经理职责范文
2013/11/08 职场文书
机关财务管理制度
2014/01/17 职场文书
教师网络培训感言
2014/03/09 职场文书
小学感恩节活动总结
2015/03/24 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书