1. 過濾唯一值
Set
2. for loop 先需告長度,先緩存就不需每次都重算,強化性能
let i = 0, length = array.length; i < length; i++
3. 短路求值
原本的三元視情況改使用 && ||
4. 轉型成布林
!!
5. 轉型成字串
+''
6. 轉型成數字
+ 或 *1 或 ~~,但~~小數在會被捨去
7. 冪運算
** 及 <<
例如 Math.pow(2,4) 等於 2**4 等於 2<<3
8. 快速取整 (無條件捨去)
n|0
9. 自動類(class)綁定,通常是在 react 中
使用箭頭函式,this.myMethod.bind(this) 變成 this.myMethod()
10. 截取陣列
已知取頭幾個元素,直接 assign 該陣列長度
slice() 速度更快。也可用負數取尾幾個元素
11. 加強格式化 JSON 易讀性
JSON.stringify(value[, replacer[, space]])
replacer 有篩選的意味,可以是數字、字串、布林、物件、undefined;space 控制格式
JSON.stringify({ alpha: 'A', beta: 'B' }, null, '\t')
12. 過濾 false 值
.filter(Boolean)
13. 一次性函數
var sca = function(){
console.log('只出現一次')
sca = function(){
console.log('剩下都是我')
}
}
sca() // '只出現一次'
sca() // '剩下都是我'
sca() // '剩下都是我'
sca() // '剩下都是我'
2020年12月6日 星期日
[JS] 從網路上看到的小技巧文章整理
訂閱:
張貼留言 (Atom)
-
原來 Hoisting 也適用 function, 所以才會出現先有 function( ); 後面才宣告該 function 執行碼。 myFunction(5); function myFunction(y) { return y * y; } 但這...
-
趕在 6/12前唸完的計畫大失敗, 中間有看 Taker 的切版技巧,但遇到六日即可能會因約會打斷計畫, 已控制在兩周一次、一天半的約會還是會嚴重耽誤, 看來要把假日的時間預先抓出,不能放在計畫內。 這兩天沒有工作,公、私約會也較少,進度應可大躍進, 6/13 可以唸...
沒有留言:
張貼留言