回覆列表
-
1 # 蘑菇頭MTV
-
2 # Tingno記前端
ES6的箭頭函數了解下!
上面六行程式碼使用箭頭函式壓縮之後是什麼樣子呢?
var Add = (i=0)=>()=>++i
使用箭頭函式呢
var fact = (x)=> x==0?1:fact(x-1)
最新es6好多簡化寫法,不過要相容的話,需要翻譯器。
-
3 # 新一代魔暴龍
上古jquery專案。表單驗證,每個元素單獨設定一個validator,在校驗不過時throw一個自定義error。然後把他們全部丟到trycatch裡面執行。瞬間實現提早退出和優先提示,想想都刺激。
在實際開發中,通常情況下都不會簡寫程式碼,因為一般的IDE工具都有壓縮js程式碼的功能,或者可以使用自動化構建工具、包管理技術,如glup、webpack等。再說了,程式碼寫得太簡化,對於團隊其他人來說,閱讀起來會困難一些,影響了整體開發效率。
這裡介紹幾種自己在封裝外掛時,常用到的程式碼簡化方式及高階寫法:
條件判斷傳統寫法:
三目運算:條件判斷簡寫傳統寫法:
省略寫法:
注意;這種寫法只適用於條件語句塊中只有一條語句的情況。
立即執行函式傳統寫法:
IIFE高階寫法:陣列遍歷傳統寫法:變種寫法:
while迴圈
注意:這兩種遍歷方法,要求陣列中不能有數字型別的0,和布林型別的false;否則遍歷將會停止,不會繼續向下執行。
數組合並使用concat函式或者for迴圈
apply的妙用:
陣列判斷使用instanceof
call方法的妙用(最安全有效的方法)
陣列去重for迴圈:
類HASH演算法: