掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
分享幾個實際開發(fā)中經(jīng)常被忽略 JS 技巧,下面,我們一起來看。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)面向各種領域:生料攪拌車等網(wǎng)站設計、營銷型網(wǎng)站建設解決方案、網(wǎng)站設計等建站排名服務。
1. typeof 誤解
聲明一個變量 var a,typeof a 常被誤解是求變量 a 的類型,其實是求變量 a 中「當前值的類型」。如圖所示,當 a 的值發(fā)生改變時,typeof a 的結果也在發(fā)生變化。
2. 真假難辨
js 中的「假值」包含 ""、0、-0、NaN,、null、undefined、false,記住空字符串也是「假值」,而空數(shù)組 [] 和空對象 {} 卻不是假值。通過下面代碼可以驗證一下:
3. == 與 ===
這段代碼的打印結果是啥?結果是 a == c,看到這個結果我難以置信。== 和 === 的區(qū)別在于,== 檢查「值相等」,而 === 檢查「值和類型」相等。但這么說并不精確。正確的說法是,== 檢查的是允許類型轉換的情況下值的相等性,而 === 檢查不允許類型轉換的情況下值的相等性;因此,=== 經(jīng)常被稱為“嚴格相等”。
4. 類型之間比較
上面的打印結果是啥?結果打印的是”我該咋辦“。原因是這樣的, b 在 < 和 > 比較過程中,b 被轉換成了無效數(shù)字 NaN,「規(guī)范設定 NaN 即不大于也不小于任何值」。== 比較結果為假是因為無論 42 == NaN 還是 "42" == "suyan" 都不可能為真。
5. 自己實現(xiàn)一個 isNaN 函數(shù)
這里利用了 NaN 值的一個特性,即 NaN 是整個語言中唯一和自身不相等的值。因此,NaN 是使得 x != x 為真的唯一值。
6. IIFE
別被上面的函數(shù)搞暈,換個姿勢:
還不懂?那看 讓 JavaScript 文件代碼相互獨立 這篇吧。
大家加油!

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流