Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是===&引用;在Javascript/Jquery中暗示?_Javascript_Jquery_Jquery Mobile_Operators - Fatal编程技术网

什么是===&引用;在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”传递。