0

调用 javascript 函数有多种方法,大多数时候我使用匿名函数,因为它可以在我喜欢的任何地方触发。

我似乎无法理解为什么使用变量方法而不是匿名函数。对我来说主要的缺点是因为吊装问题....

任何人都可以解释或提供一个真实的例子,什么时候适合在变量中存储函数?

4

3 回答 3

2

如果你想在多个地方使用相同的函数,将它存储在一个变量中是有意义的。这使您能够遵守 DRY(不要重复自己)原则。

想象一下,我们有一个简单的验证函数:

function isPositive(val){
   return val > 0;
}

与其在我需要验证的任何地方内联这个匿名函数,不如将函数存储在一个变量中以备将来使用要容易得多。

var isPositive = function(val){  return val > 0;}

这为我提供了两个主要好处。首先,如果出现问题,isPositive我可以在一个地方解决问题,并且该函数的所有调用都将使用更新后的行为。其次,它可以防止我在第 100 次重新键入代码时弄乱代码中的某个函数。

于 2014-01-15T10:08:45.603 回答
2

如果它在一个变量中,我可以从任何地方访问该函数,并且可以根据需要随时访问。

于 2014-01-15T10:09:18.200 回答
2

如果您想从多个地方发生相同的操作。可能像这样:

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
于 2014-01-15T10:11:28.540 回答