试图了解_.once函数在下划线中的工作原理
_.once = function(func) {
var alreadyCalled = false;
return function() {
if (!alreadyCalled) {
alreadyCalled = true;
return func();
}
};
};
_.once = function(func) {
var alreadyCalled = false;
var result;
return function() {
if (!alreadyCalled) {
result = func.apply(this, arguments);
alreadyCalled = true;
}
return result;
};
};
第二个是否更灵活,因为如果将参数传递给func,它可以使用参数吗?