爲什麼1=='true'
是false?If 1 =='1'// true and 1 == true // true then why 1 =='true'// false
如果1=='1'
爲真並且1==true
爲真。
如果JavaScript僅比較==
方案中的類型而不是類型。
爲什麼1=='true'
是false?If 1 =='1'// true and 1 == true // true then why 1 =='true'// false
如果1=='1'
爲真並且1==true
爲真。
如果JavaScript僅比較==
方案中的類型而不是類型。
這是因爲類型強制。
實際上,這是JavaScript在使用==
運算符時試圖代表您執行的操作。
1 == Number('true'); // 1 == NaN
1 == Number('1'); // 1 == 1
1 == Number(true); // 1 == 1
當兩個不同的類型是使用==
相比,JavaScript的嘗試將這些脅迫到相同的類型作儀
您可以閱讀更多關於該算法在這裏:http://webreflection.blogspot.com/2010/10/javascript-coercion-demystified.html
謝謝**喬希**,爲寶貴的投入。 – user1805928
@ user1805928因爲'真=「true'' ...!? – Biffen
我真的不明白爲什麼這個問題被拒絕投票。海報問了一個有效的,而且很有教育意義的問題,這個問題在解決bug問題上會有很大的幫助。如果你認爲這個問題很愚蠢或者顯而易見,我鼓勵他們給出一個答案並進行解釋。 – AVAVT
請看下面... http://stackoverflow.com/questions/359494/does-it-matter-which-equals-operator-vs-i-use-in-javascript-comparisons –