最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年11月23日 15:49:25   投稿:hebedich  
本文詳細介紹了javascript中的相等符號以及嚴格相等符號,需要的朋友可以參考下

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

相等符號

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

復(fù)制代碼 代碼如下:

""           ==   "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

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

嚴格相等符號

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

復(fù)制代碼 代碼如下:

""           ===   "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,這也會使得性能得到提升。

比較對象

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

復(fù)制代碼 代碼如下:

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

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

總結(jié)

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

相關(guān)文章

最新評論

莒南县| 广元市| 青浦区| 舟山市| 分宜县| 东平县| 萨嘎县| 竹溪县| 镇雄县| 彰化市| 云浮市| 攀枝花市| 盐山县| 安阳县| 白沙| 西华县| 鲁山县| 辉县市| 五河县| 龙山县| 达州市| 宁明县| 蓬安县| 汶上县| 肇源县| 巴里| 综艺| 碌曲县| 略阳县| 股票| 昂仁县| 石棉县| 枣庄市| 新密市| 汉阴县| 崇州市| 广饶县| 白水县| 鹿泉市| 寻乌县| 广州市|