jquery博客最近在看原生javascript,是那本犀牛书,厚厚一本。
慢慢有条不絮的进行的学习。
看到apply()和call()不得不停留下来,仔细琢磨琢磨。
留点字迹,方便之后温习。
ECMAScript规范给全部函数定义了两个方法call()和apply()。使用这两个方法能够像调用其余对象的方法同样调用函数。call()和apply()的第一个参数都是要调用的函数的对象。在函数体内这一参数是关键字this的值。call()的剩余参数是传递给要调用的函数值。例如,要把两个数字传递给函数f(),并将它做为对象o的方法调用,试下下面的代码:
f.call(o,1,2);
这个与下面的代码类似的哦
o.m=f;
o.m(1,2);
delete o.m;
apply()方法和call()方法类似,只不过要传递给函数的参数是由数组指定的;
f.apply(0,[1,2]);
好比要找到一个数字数组中最大的数字,咱们能够使用apply()方法把数组元素传递给Math.max()函数:
var bjggest=Math.max.apply(null,array_of_numbers);
转自
jquery http://www.jqueryba.com/302.html