10個實用的JS技巧
Perhaps the most important thing in life is not where we are now, but which direction we go for.
世上最重要的事,不在於我們身在何處,而在於我們朝哪個方向前行。
人無所舍,必無所成。心無所依,必無所獲。自己的路只有自己去走,自己的心還須自己去度。
來自:前端之巔 |作者 | Zander Shirley 譯者 | 王強 策劃 | 小智| 責編:樂樂
往日回顧:真香!紅警遊戲原始碼開源了!!!
正文
我一直在尋找提高效率的新方法。而且 JavaScript 總是能給人帶來驚喜。
將 arguments 物件轉換為陣列
arguments 物件是函式內部可訪問的類似陣列的物件,其中包含傳遞給該函式的引數的值。
與其他陣列不同,這裡我們可以訪問值並獲得長度(length),但是不能在其上使用其他陣列方法。
幸運的是,我們可以將其轉換為常規陣列:
對陣列中的所有值求和
我一開始想到的是使用一個迴圈,但是那樣會很浪費。
條件短路
我們有以下程式碼:
我們可以進一步簡化程式碼,同時使用變數和函式:
對條件使用或(OR)邏輯
我以前在函式開始時宣告變數,只是為了避免在出現意外錯誤時遇到 undefined。
逗號運算子
逗號運算子(,)用來計算其每個運算元(從左到右)並返回最後一個運算元的值。
使用 length 調整陣列大小
你可以調整大小或清空陣列。
使用陣列解構來交換值。
解構賦值語法是一種 JavaScript 表示式,可以將陣列中的值或物件中的屬性解包為不同的變數。
隨機排列陣列中的元素
屬性名稱可以是動態的
你可以在宣告物件之前分配一個動態屬性。
過濾唯一值
對於所有 ES6 愛好者而言,我們可以使用帶有 Spread 運算子的 Set 物件來建立一個僅包含唯一值的新陣列。
履行好自己的責任比提升效率要重要的多。
你的網站需要相容所有瀏覽器。
你可以使用 Endtest或其他類似工具來確保相容性。
https://endtest.io/
你還有其他 JavaScript 技巧或竅門要分享嗎?歡迎留言!
歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。推薦閱讀:
https://www.laosiji.com/lookat/index/11669461
https://www.laosiji.com/lookat/index/11669450