在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js call apply的使用

js call apply的使用

在js中正在學(xué)習(xí)call與apply,call有一個(gè)實(shí)際應(yīng)用就是把類數(shù)組轉(zhuǎn)換成數(shù)組。我有一個(gè)疑問,為什么要去call數(shù)組Array原型上的slice方法,我看了下slice的api,我想問下為什么要用Array.prototype上的這個(gè)方法呢?

 function fun(){
    var argArr = Array.prototype.slice.call(arguments);
    debugger
 }
 fun(1,3,5,9)

再補(bǔ)問一個(gè)問題,[].slice.call(arguments) 與 Array.prototype.slice.call(arguments)結(jié)果一樣的原理是什么呢?

回答
編輯回答
尐飯團(tuán)

因?yàn)?code>arguments只是一個(gè)類數(shù)組,不是數(shù)組,所以不存在slice方法,而它的目的是用slice返回一個(gè)新數(shù)組。

而對于補(bǔ)充問題,首先[]自身沒有slice,因此往原型鏈上找slice,然后他又是個(gè)Array,所以就找到Array.prototype.slice這兩句話是一毛一樣的。

2017年7月25日 04:29