扫码关注官方订阅号
84669人学习
65727人学习
82984人学习
467778人学习
498837人学习
471966人学习
256484人学习
152542人学习
224170人学习
139536人学习
81804人学习
85022人学习
11944人学习
20001人学习
60816人学习
5487人学习
15007人学习
2150人学习
6980人学习
194925人学习
359900人学习
1142人学习
19058人学习
3206人学习
180550人学习
48569人学习
17603人学习
40936人学习
1049人学习
750人学习
32909人学习
Array.call(null,{length:3}//返回[{length:3}] Array.apply(null,{length:3})//返回[undefined, undefined, undefined]
call和apply都是改变this指向,到这里结果却不一样,诡异了
光阴似箭催人老,日月如移越少年。
写这里,方便看。
call:第一个是直接传对象进去;
apply:第二个是当成数组长度为3的数组,但没有值,所以undefined{length: 3} => {length: 3, 0: undefined, 1: undefined, 2: undefined }所以输出3个undefined
call接受的是连续参数,apply接受的是数组参数。A.call(this, a,b,c,d)A.apply(this, [a,b,c,d])
call()方法第二个参数是数组里面的一项,
apply()方法第二个参数是一个数组
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部
写这里,方便看。
call:
第一个是直接传对象进去;
apply:
第二个是当成数组长度为3的数组,但没有值,所以undefined
{length: 3} => {length: 3, 0: undefined, 1: undefined, 2: undefined }
所以输出3个undefined
call接受的是连续参数,apply接受的是数组参数。
A.call(this, a,b,c,d)
A.apply(this, [a,b,c,d])
call()方法第二个参数是数组里面的一项,
apply()方法第二个参数是一个数组