【问题标题】:$ Javascript functions [duplicate]$ Javascript函数[重复]
【发布时间】:2012-10-18 04:06:00
【问题描述】:

可能重复:
Can someone explain the dollar sign in Javascript?

为什么某些javascript函数在函数声明前有一个$? 例如,这是用于 JQuery 滑块的 javascript。源代码可以在这里找到http://jqueryui.com/slider/#rangemin

<script>
$(function() {
    $( "#slider-range-min" ).slider({
        range: "min",
        value: 37,
        min: 1,
        max: 700,
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.value );
        }
    });
    $( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );
});
</script>

【问题讨论】:

  • 对于反对者:这是一个有用的问题,它吸引了所有 JavaScript/jQuery 初学者。我认为它必须被赞成。
  • @rcdmk: 有人问过several times before。一个简单的搜索就会提供答案。
  • @rcdmk 我同意,但是已经回答了其他重复/类似的问题。任何 jQuery 初学者都应该在开始时使用/阅读一些解释...
  • @Yau: var $ = function(name) { alert("Hello, " + name); }; $("World"); 运行这段代码,你会发现$ 只是另一个变量。
  • 好的,好的,谢谢。我不清楚“$(function()...”是否意味着 JS 中的特殊函数声明。

标签: javascript jquery


【解决方案1】:

$ 不是 JavaScript 的东西,它只是 jQuery 使用的快捷方式。 $ 在 JavaScript 中是一个有效的标识符名称,而且它很短,所以它在库中很流行(jQuery、Prototype,可能还有一些其他人使用它)。 $ 只是符号 jQuery 的别名。

您在此处引用的代码调用$ 函数并传入函数引用(在这种情况下,对于内联定义的函数)。当您将函数引用传递给$(或jQuery)时,您是在要求jQuery 库在DOM 准备好时运行该函数。这是$(document).ready(...) 的快捷方式。详情in the documentation.

【讨论】:

    【解决方案2】:

    这些是 jQuery 函数。 $ 只是 jQuery 函数的别名。您需要 jQuery 库才能使用该代码。

    【讨论】:

      【解决方案3】:

      它们指的是由添加的某些文件加载​​的库。 $ 可能指 jQuery 或 Prototype 等,但现在最常见的是 jQuery

      你这里指的$是jQuery

      【讨论】:

        【解决方案4】:

        $ 是 JavaScript 中的常规字符。因此,它可以用作变量:

        var $ = 5;
        

        但是这个角色已经被某些框架专门用来做你在那个网站上看到的事情。它是一个对象,将使用多种方法来解决由常见的功能错误/非跨浏览器代码质量引起的头痛。 window.$ 已被定义为一个函数,这就是为什么您会看到调用运算符被应用于它的原因:

        $( .. )
        

        在调用运算符中,传递了一个函数表达式。

        $( function() {} );
        

        正如 jQuery 中的 $ 所定义的,函数表达式中的任何内容都将在浏览器加载时立即执行。这种语法的一个常见变体如下:

        $(document).ready(function() {
        
        });
        

        意思大致相同。

        【讨论】:

          猜你喜欢
          • 2021-03-25
          • 2014-06-09
          • 2017-08-02
          • 1970-01-01
          • 2015-12-20
          • 2013-10-23
          • 2013-03-16
          • 2012-10-13
          • 2014-05-17
          相关资源
          最近更新 更多