javascript等号运算符使用详解
本章节介绍一下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中|单竖杠运算符的使用方法
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
- 详解JavaScript中双等号引起的隐性类型转换
- JavaScript知识点总结(四)之逻辑OR运算符详解
- JavaScript中instanceof运算符的使用示例
- Javascript中prototype的使用详解
- Javascript的调试利器:Firebug使用详解
- JavaScript方法call、apply、caller、callee、bind的使用详解及区别
- JavaScript中的this使用详解
- JavaScript测试工具之Karma-Jasmine的安装和使用详解
- JavaScript中自带的 reduce()方法使用示例详解
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- JavaScript中call()和apply()使用方法详解
- JavaScript中style.left与offsetLeft的使用及区别详解
- JavaScript toUpperCase()方法使用详解
- Unity3D中Javascript的基本使用与介绍详解
- JavaScript中使用typeof运算符需要注意的几个坑
- JavaScript中使用typeof运算符需要注意的几个坑
- JavaScript方法call,apply,caller,callee,bind的使用详解及区别
- Javascript的调试利器:Firebug使用详解