国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript學習筆記之相等符號與嚴格相等符號

2024-05-06 16:10:55
字體:
來源:轉載
供稿:網友
本文詳細介紹了javascript中的相等符號以及嚴格相等符號,需要的朋友可以參考下
 
 

Javascript 有兩種方法來判斷兩種值是否相等。

相等符號

相等符號由兩個等號組成: ==
Javascript 是弱類型語言。這就意味著相等符號為了比較兩個值將會強制轉換類型。

 

復制代碼代碼如下:

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" /t/r/n"    ==   0             // true

 

上面的代碼展示了類型轉換的結果,因此我們知道使用相等符號 == 是個不好的編程習慣。由于 Javascript 中復雜的類型轉換機制,將會使得由此產生的錯誤變得難以追蹤。
此外,類型的強制轉換會對性能也造成一定的影響,例如,當一個字符串與數字進行比較時,會被強制轉換為數字。

嚴格相等符號

嚴格相等符號由三個等號組成: ===
它跟相等符號的操作相似,但是嚴格相等符號不會做強制類型轉換的操作。

 

復制代碼代碼如下:

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" /t/r/n"    ===   0             // false

 

上面的代碼使得代碼更加清晰,如果兩個值的類型不同則直接返回 false,這也會使得性能得到提升。

比較對象

盡管 == 和 === 被稱為相等符號,但是當比較的兩個值中有一個類型是對象時,表現將大不相同。

 

復制代碼代碼如下:

{} === {};                   // false
new String('foo') === 'foo'; // false
new Number(10) === 10;       // false
var foo = {};
foo === foo;                 // true

 

在這兒,不再僅僅是比較兩個值是否相等,它將判斷兩個值是否引用同一個對象實例,這個行為比較像 C 中的指針。

總結

這里強烈建議只使用嚴格相等符號 ===。如果我們需要做類型轉換,可以在比較前先做顯式的類型轉換,而不是靠 Javascript 本身復雜的強制轉換方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 呼图壁县| 临洮县| 巴彦县| 福安市| 班戈县| 上蔡县| 临邑县| 峨山| 黄石市| 盐山县| 柘荣县| 武川县| 枝江市| 津南区| 凌海市| 仁化县| 息烽县| 玉门市| 若羌县| 堆龙德庆县| 建瓯市| 德清县| 无极县| 镇远县| 寿宁县| 崇礼县| 泌阳县| 佛坪县| 浦城县| 姜堰市| 益阳市| 大方县| 交城县| 涟水县| 衢州市| 曲阳县| 西畴县| 叙永县| 阿拉善左旗| 利津县| 凌源市|