Javascript Apply和Call的使用

Apply

Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)

Apply默认会把args数组转换成参数列表

Call

Function.call(obj,[param1[,param2[,…[,paramN]]]])
obj:这个对象将代替Function类里this对象
params:这个是一个参数列表,Person.call(this,name,age);

var arr1=["a11","a12","a13"];
var arr2=["b11","b12","b13"];
var arrApply=Array.prototype.push.apply(arr1,arr2);  //arr=6, arr1=[6],arr2作为参数列表(3个值)被push到arr1
var arrPush=arr1.push(arr2);  //arrPubsh=4,arr1=[4]

参考:http://www.cnblogs.com/KeenLeung/archive/2012/11/19/2778229.html

原文地址:https://www.cnblogs.com/gossip/p/4298242.html