【问题标题】:What is an anonymous function in jQuery?jQuery 中的匿名函数是什么?
【发布时间】:2015-04-30 05:43:50
【问题描述】:

匿名函数需要什么? 我尝试在网上搜索它,但找不到最佳解决方案。我刚刚开始探索 jQuery,我被困在这个功能上。

【问题讨论】:

  • 函数没有名称,可能是没有名称的回调函数被称为匿名
  • 这是一个新用户提出了一个受过良好教育的问题,我不明白为什么人们觉得有必要对这个问题投反对票,因为如果它是一个完全合法的问题,尽管会误导和投反对票的人可能自己使用 jQuery!

标签: jquery anonymous


【解决方案1】:

JavaScript 中的匿名函数没有名称,但它允许您在通常无法插入的地方插入 JavaScript 代码。

例如,如果您想在几毫秒后运行一些代码(一个常见问题并修复),因为 JavaScript 不会像我们想要的那样经常同步,那么您可以使用匿名函数来处理细节。默认情况下,您所能做的就是指定一个在超时结束时调用的函数,但是这是非常有限的,因为您不能将参数传递给该函数......并且在这些实例中您真的需要一个成熟的函数吗? ?

默认你只能调用另一个函数:

setTimeout(function_name_here,'4000');//Run "function_name_here" after four seconds.

function function_name_here()
{
 console.log('Great, how about some parameters so I don\'t have to start using globals?');
}

//We can not declare (parameters) in this situation, lame right?

如果我们所有的代码都已经可用,我们不必创建另一个完整的专用函数来处理事情:

var wait_what = 'Cheese it!';
setTimeout(function()
{
 console.log('How much code? '+wait_what);//How much code? Cheese it!
 alert('All the codes! '+wait_what);//All the codes! Cheese it!
},'4000');

匿名函数甚至可以作为参数传递(你也可以提交数组和对象作为参数)。


此外,我强烈建议避免像瘟疫一样使用 jQuery,因为它是一种完全不必要的依赖,它不仅会削弱您的代码,还会破坏您对 JavaScript 的理解。当他们使用的浏览器已经理解 JavaScript 时,您不应该强迫他们下载 70KB 库的四个副本。你也会失去性能,一旦你完成了足够质量的真实代码,你最终会比那些将自己陷入维护地狱的人快得多

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多