1.JavaScript的函数“==”。
1.当==两边的内容都是字符串时,比较字符串的内容是否相等。2.当==两边的内容都是数字时,比较数字大小是否相等。3.当==两边的内容是对象或对象的函数属性时,比较内存地址是否相等。
二是==和===的区别。
==一般比较,===严格比较,==比较时可以转换数据类型,===严格比较,只要类型不匹配就会返回flase。
举个例子:
脚本类型=' text/JavaScript '警报(结果为' ' '==true为:“(' '==true));alert(“”===true的结果是:“(' '===true));alert(' ' '='的结果是:'(' '==));Alert(结果为“”===是:“(' '===)”);/script '1'==true有不同的类型,'='会先做类型转换,然后将true转换为1,也就是' 1 '==1;此时,类型仍然不同,因此继续类型转换,并将“1”转换为1,这意味着1==1。这时“==”的左右两边都是数字,相当成功!
1'===true左侧为字符类型,右侧为bool布尔类型,左右为不同类型,结果为false;
1'===1左侧为字符型,右侧为int数值型,左右两侧类型不同,所以结果为假;
运行结果:
总结:
==和====:'='之间的差,只要求值相等;==='需要相等的值和类型。
下面详细解释一下JavaScript中三个等号和两个等号的区别。
==相等等于,===同一性等于。
==,当两边的值类型不同时,应在比较前进行类型转换。
==,不要做类型转换,不同的类型一定不一样。
请在下面单独解释:
先说===,这个比较简单。
以下规则用于确定两个值是否===相等:
1.如果类型不同,它们就是[不相等的]。
2.如果两者都是数值并且是相同的值,则[相等];(!例外的是,如果其中至少有一个是NaN,那么[不相等]。(判断一个值是否为NaN,只能通过is NaN())来判断)。
3.如果两者都是字符串,并且每个位置的字符相同,则[相等];否则[不相等]。
4.如果两个值都为真或都为假,则[相等]。
5.如果两个值都指向同一个对象或函数,则[相等];否则[不相等]。
6.如果两个值都为空或未定义,则[相等]。
说==,根据以下规则:
1.如果两个值类型相同,比较===。
2.如果两种值类型不同,它们可能相等。按照以下规则进行类型转换和比较:
如果一个为空,另一个未定义,则[相等]。
b、如果一个是字符串,另一个是数值,把字符串转换成数值,然后比较。
c、如果有值为真,转换成1再比较;如果任何值为假,将其转换为0并再次比较。
如果一个是对象,另一个是数值或字符串,将对象转换成基本类型的值并进行比较。使用其toString或valueOf方法将。Js核心内置类将在toString之前尝试valueOf;例外是日期,它使用了字符串转换。不是js核心的对象,
使说(比较麻烦,我也不太懂)
e,任何其他组合都是[不相等的]。
示例:
1'==true是不同类型的。true将首先转换为值1,现在它将变成' 1'==1,然后' 1 '将转换为1,比较1==1将相等。
=赋值运算符==等于===严格等于。
示例:
var a=3;var b=' 3
A==b返回true a===b返回false。
因为A和B的类型不同,所以===用于严格的比较判断。