1.call和apply的區(qū)別,哪一個(gè)更好?
call和apply都是function類原型上面的方法, 都是用來(lái)改變函數(shù)中this的指向,區(qū)別傳參方式不同
call是一個(gè)一個(gè)傳參,apply是兩個(gè)參數(shù)(合并成數(shù)組)
call的性能更好一些,尤其是傳遞函數(shù)參數(shù)超過(guò)三個(gè)的時(shí)候
例如:
let arr=[10,20,30]
? ? obj = {}
function fn (x,y,z){}
fn.apply(obj,arr)? //x=>10? y=>20 z =>30
fon.call(obj,...arr) //基于es6的展開運(yùn)算符
2.箭頭函數(shù)和普通函數(shù)的區(qū)別?
1.語(yǔ)法比較簡(jiǎn)潔