apply
1.
var a = [1,2,3];
var b = [4,5,6];
a.push.apply(a,b);
console.log(b);
-----------------------
2.
var a = [1,2,3];
var b = [4,5,6];
var c=[];
c = a.push.apply(a,b);
console.log(c);
----------------
3.
var a = [1,2,3];
var b = [4,5,6];
b.push.apply(a,b);
console.log(b);
-----------------------------
请老师解释一下这三种情况,
apply(a,b)中a这个“位置”代表什么意思,因为放a或者b进去 结果都不一样,想知道原理,还是对apply不太理解
正在回答
同学你好,问题解答如下:
1.老师上一次说了哦,只要是一个数组就行,没有影响的。
2.因为push是数组的方法,如果调用的不是数组的方法 ,那肯定不能使用数组了。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
同学你好,apply的第一个参数是设置this的指向。拿第一个案例举例子:
1.apply帮助一个对象调用另一个对象的方法,如下代码中意思就是通过apply方法帮助a调用数组的push方法,然后把b添加到a里面
既然是借助apply去调用数组的方法,那么push前面只要是数组就行:
第一个参数是a,即空数组调用push时this指向a,那么也就是a调用了push方法,然后把b添加到a里面去。所以输出a为如下:
2.如果把第一个参数改为b,则空数组的this指向b,那么就是b调用了push方法,再把b添加到b里面,内容就重复了:
输出b:
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星