javascript等号运算符使用详解
投稿:hebedich
本章节介绍一下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方法。
以上就是本文的全部内容了,希望大家能够喜欢。