【发布时间】:2015-03-05 00:34:56
【问题描述】:
查看 Leaflet api 中的代码
我的问题是为什么wrapperFn.apply(context, args);</code> and <code>fn.apply(context, args); 使用apply() 而不是call()。
你怎么知道使用哪一个?
因为我不提前知道我的传递函数是否使用数组而感到困惑。
limitExecByInterval: function (fn, time, context) {
var lock, execOnUnlock;
return function wrapperFn() {
var args = arguments;
if (lock) {
execOnUnlock = true;
return;
}
lock = true;
setTimeout(function () {
lock = false;
if (execOnUnlock) {
wrapperFn.apply(context, args);
execOnUnlock = false;
}
}, time);
fn.apply(context, args);
};
},
【问题讨论】:
-
是的,应用使用数组,调用使用列表(逗号分隔变量)。如果我在函数中传递参数列表怎么办。那么我应该使用 call() 吗?
标签: javascript