搜索
写经验 领红包

javascipt中==和===的区别(js中和是什么意思)

导语:javascript中==和===有哪些不同

在javascript中说到比较运算符,大家熟悉的可能就是==了,对于===可能很多人都不是很清楚。毕竟用的比较多的就是==,那接下来我们来看一下,他们之间有时什么不一样的地方

1.==如果两边不是同一类型,那么会做一个隐式的类型转换,再进行比较

1.1如果一个是字符串,另一个是数字,那么他会先将字符串转换成数字,再进行比较

1.2如果一个是null,另一个是undefined,那么他们相等

1.3如果其中一个值为true,则将其转换成1再进行比较。同理,如果其中一个为false,则将其转换成0再进行比较

1.4如果一个值是对象,另一个值是字符串或者数字。则将对象转换成原始值在进行比较。对象通过toString()或者valueOf()的方法进行转换

1.5其他类型的比较均不相等

举例说明:

var a='2',b='2',c=2,d=3,e=null,f=undefined;

a==b;//结果为true

a==c;//结果为true

a==d//结果为false

e==f//结果为true

2.===首先是计算其操作数的值,然后再比较这两个值,比较过程不涉及到转换

2.1如果两个值都为null或者是undefined,那么他们不相等

2.2如果两个值都为true或者false,则他们相等

2.3如果两个值类型不相同,一个是字符串,一个是数字,那么他们不想等

2.4如果两个值都是NaN,那么他们不相等

2.5如果两个值引用的同一个对象、数组或者函数,那么他们的值是相等的,如果不是,那么他们的值不相等

举例说明:

var a='2',b='2',c=2,d=3,e=null,f=undefined;

a===b//结果为true

a===c//结果为false

a===d//结果为false

e===f//结果为false

本文内容由小芦整理编辑!