调用 javascript 函数有多种方法,大多数时候我使用匿名函数,因为它可以在我喜欢的任何地方触发。
我似乎无法理解为什么使用变量方法而不是匿名函数。对我来说主要的缺点是因为吊装问题....
任何人都可以解释或提供一个真实的例子,什么时候适合在变量中存储函数?
调用 javascript 函数有多种方法,大多数时候我使用匿名函数,因为它可以在我喜欢的任何地方触发。
我似乎无法理解为什么使用变量方法而不是匿名函数。对我来说主要的缺点是因为吊装问题....
任何人都可以解释或提供一个真实的例子,什么时候适合在变量中存储函数?
如果你想在多个地方使用相同的函数,将它存储在一个变量中是有意义的。这使您能够遵守 DRY(不要重复自己)原则。
想象一下,我们有一个简单的验证函数:
function isPositive(val){
return val > 0;
}
与其在我需要验证的任何地方内联这个匿名函数,不如将函数存储在一个变量中以备将来使用要容易得多。
var isPositive = function(val){ return val > 0;}
这为我提供了两个主要好处。首先,如果出现问题,isPositive
我可以在一个地方解决问题,并且该函数的所有调用都将使用更新后的行为。其次,它可以防止我在第 100 次重新键入代码时弄乱代码中的某个函数。
如果它在一个变量中,我可以从任何地方访问该函数,并且可以根据需要随时访问。
如果您想从多个地方发生相同的操作。可能像这样:
var renderPage = function() {
// about 20 lines of render code
}
$(window).on('resize', renderPage);
$('.my_btn').on('click', renderPage);
// render to initialize page
renderPage();
在这里不使用变量会很快变成一团糟:
$(window).on('resize', function() {
// about 20 lines of render code
));
$('.my_btn').on('click', function() {
// about 20 lines of render code
));
// about 20 lines of render code