6 个解决方案
#2
区别是call()的第二个之后的参数要逐个写。apply()第二个的参数是个数组。数组中可包含多个参数
对象A.方法.call(对象B,1,2,3) 等价于 对象A.方法.apply(对象B,[1,2,3]);
call 方法可以用来代替另一个对象调用一个方法,可以简单的理解为:
对象A.方法.call(对象B,1,2,3)
等价于
对象B.方法 = 对象A.方法;
对象B.方法(1,2,3);
delete 对象B.方法;
对象A.方法.call(对象B,1,2,3) 等价于 对象A.方法.apply(对象B,[1,2,3]);
call 方法可以用来代替另一个对象调用一个方法,可以简单的理解为:
对象A.方法.call(对象B,1,2,3)
等价于
对象B.方法 = 对象A.方法;
对象B.方法(1,2,3);
delete 对象B.方法;
#3
http://blog.csdn.net/xllily_11/article/details/51480723
#4
call/play都是改变this的指向,区别是call(this,参数,参数) aplly(this,参数数组)
#5
apply(this,参数数组)
#1
call/apply区别在第二个参数的传入,2个都是用于更改对应函数内this的指向用的,看这个:
JavaScript apply与call的用法意义及区别
#2
区别是call()的第二个之后的参数要逐个写。apply()第二个的参数是个数组。数组中可包含多个参数
对象A.方法.call(对象B,1,2,3) 等价于 对象A.方法.apply(对象B,[1,2,3]);
call 方法可以用来代替另一个对象调用一个方法,可以简单的理解为:
对象A.方法.call(对象B,1,2,3)
等价于
对象B.方法 = 对象A.方法;
对象B.方法(1,2,3);
delete 对象B.方法;
对象A.方法.call(对象B,1,2,3) 等价于 对象A.方法.apply(对象B,[1,2,3]);
call 方法可以用来代替另一个对象调用一个方法,可以简单的理解为:
对象A.方法.call(对象B,1,2,3)
等价于
对象B.方法 = 对象A.方法;
对象B.方法(1,2,3);
delete 对象B.方法;
#3
http://blog.csdn.net/xllily_11/article/details/51480723
#4
call/play都是改变this的指向,区别是call(this,参数,参数) aplly(this,参数数组)
#5
apply(this,参数数组)
#6
楼主你好,call和apply的区别确实有够多的,下面文章供你参考
http://www.cnblogs.com/chenjef/p/4889767.html
http://www.cnblogs.com/chenjef/p/4889767.html