鍍金池/ 問(wèn)答/HTML/ js 的call apply 問(wèn)題

js 的call apply 問(wèn)題

為什會(huì)出現(xiàn)這種情況
console.log.apply(console.log, [12,34,5])
// 打印的是數(shù)組里的值 12 34 5
console.log([12,34,5])
// 打印的是一個(gè)數(shù)組 [12, 34, 5]

回答
編輯回答
來(lái)守候

apply傳參本身就是數(shù)組。
console.log.apply(console.log, [12,34,5])相當(dāng)于
console.log(12,34,5);
要打印數(shù)組應(yīng)該這樣:
console.log.apply(console.log, [[12,34,5]])

2017年5月25日 07:34
編輯回答
孤星

console.log.apply(console.log, [12,34,5])相當(dāng)于

function log(a) {
    console.log(a)
}
console.log.apply(log, [12,34,5])
2017年11月29日 21:09
編輯回答
舊城人

一般來(lái)說(shuō)我會(huì)直接先查文檔
https://developer.mozilla.org...

2017年1月5日 19:32
編輯回答
你的瞳
console.log() // 控制臺(tái)輸出
fn.apply(thisArg, [argsArray])   // this值,數(shù)組或類數(shù)組  傳遞給fn函數(shù)的是argsArray的的元素 
元素依次為 12 34 5   
2017年3月22日 18:25
編輯回答
初念
console.log(12,34,5)

懂了么?
我的理解是,當(dāng)函數(shù)調(diào)用fn.apply(context, ArrayLikeObj)相當(dāng)于fn(...ArrayLikeObj)

2018年3月24日 07:04