首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将美元符号($)传递给函数

将美元符号($)传递给函数
EN

Stack Overflow用户
提问于 2013-04-23 01:02:29
回答 3查看 1.4K关注 0票数 2

我正在使用其他人编写的一些jquery,它们看起来像下面的代码,并且想知道为什么美元符号应该传递给javascript updateTextareas函数。

它使用了两个参数:$,$textareas。它似乎只有一个参数($textareas)就能很好地工作。

我想弄清楚为什么作者会在下面的updateTextareas函数中传入$作为第一个参数:

代码语言:javascript
运行
复制
( function($) 
{
    // why would the first argument ($) need to be passed here?
    function updateTextareas($, $textareas)
    {
        $textareas.each(function()
        {
            alert($(this).val());
        });
    }   

    // document ready
    $(function()
    {
        updateTextareas($, $('textarea.bio') );
});
} )(jQuery);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-23 01:05:51

其想法是,这将允许您传递一个“外观”或另一个类似于jQuery的函数。例如,这可以在单元测试中使用。

但是,老实说,这有点开销,我不建议这样做。它大部分都是无用的,而且有更简单的方法来实现单元测试的同样效果。

票数 0
EN

Stack Overflow用户

发布于 2013-04-23 01:13:10

在函数定义时:

代码语言:javascript
运行
复制
function updateTextareas($, $textareas)

$的值已经在当前作用域中定义(作为参数传递给外部函数),因此在这里再次传递它是完全无用的,可以省略。

顺便说一句,当函数在(function($) { ... }(jQuery));包装器外部定义时,它可能曾经是必需的。

票数 2
EN

Stack Overflow用户

发布于 2013-04-23 01:05:10

这样代码或其他插件就可以与可能已经使用美元符号的其他Javascript库一起工作。在这种情况下,如果没有灵活的jQuery重命名支持(基本上),就会发生冲突。

当然,作者本来可以根本不使用$,而只是到处使用jQuery,这也会回避整个问题--但尽可能使用$的好处是它简短而简洁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16152647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档