什么是===&引用;在Javascript/Jquery中暗示?
可能重复:什么是===&引用;在Javascript/Jquery中暗示?,javascript,jquery,jquery-mobile,operators,Javascript,Jquery,Jquery Mobile,Operators,可能重复: 我试图了解这里发生了什么: data.toPage = $('div#someID'); if ( typeof data.toPage === "string" ) { // sth console.log("hello"); } 所以我在检查字符串,不是吗?我很好奇,因为我的控制台“你好” 谢谢你的意见 == 这是相等运算符,如果两个操作数相等,则返回布尔true。JavaScript将尝试将不同的数据类型转换为相同的类型,以便进行比
我试图了解这里发生了什么:
data.toPage = $('div#someID');
if ( typeof data.toPage === "string" ) {
// sth
console.log("hello");
}
所以我在检查字符串,不是吗?我很好奇,因为我的控制台“你好”
谢谢你的意见 ==
这是相等运算符,如果两个操作数相等,则返回布尔true。JavaScript将尝试将不同的数据类型转换为相同的类型,以便进行比较。假设“a”为2,“b”为4,以下示例将返回值true:
a == 2
a == "2"
2 == '2'
==
这是严格相等运算符,仅当两个操作数相等且类型相同时才返回布尔true。下面这些示例返回true:
a === 2
b === 4
=
比较运算符意味着在进行比较之前,这两个值的类型不会被修改,因此它们需要是相同的类型,并且代表相同的值,才能返回true
'1' == 1 // true
'1' === 1 // false
三等号
==
比较值和类型,而双等号=
只比较值
例如“1”
和1
具有相同的值(可以说),但类型不同。因此,将发生以下情况:
"1" == 1 //true
"1" === 1 //false
对于一些有用的javascript知识,其中包括三重相等以及其他好的知识,答案就是。不要强制类型。这一定是重复的。忘记那些愚蠢的想得到的简单答案,@sp00m一开始就有正确的答案感谢所有的答案。不过,我还是在问为什么我的控制台会说“Hello”=为什么$('div#someID')会作为==“string”传递。