javascript – 这个函数定义的意义是什么?

前端之家收集整理的这篇文章主要介绍了javascript – 这个函数定义的意义是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Why define an anonymous function and pass it jQuery as the argument?4个
> start javascript code with $(function,etc3
我理解如何定义这样的函数
function myfunc(x,y,z) {
   alert("Just an example " + x + y + z)
}

但不是这样的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

    <script>
        (function ($) {
        $.fn.idle = function (x,z) {
            alert("Just an example " + x + y + z)
    }(jQuery));
    </script>

以上是我正在使用的图书馆的一部分,但我根本无法理解$.fn.idle位.

它在做什么?它定义了一个名为“空闲”的功能,不知何故,但是$.fn呢?那么(function($){part?再次,我理解$(document).ready(function(){but(function($){完全是外来的)

(jQuery)的意义是什么?在底部

解决方法

一个 immediately invoked function expression在其范围内将jQuery别名为$
(function($) {}(jQuery));

它立即创建并执行一个函数.这样,您可以使用$内的函数来引用jQuery,而不管全局$引用什么.对于使用jQuery.noConflict()的页面很有用.此外,IIFE中声明的变量也不会泄漏到全局范围.

至于问题的另一部分,$.fn === jQuery.prototype.所以通过向jQuery原型添加一个方法,你可以在任何jQuery对象上调用它.例如.:

$.fn.doSomething = function(){}; //add a method to the jQuery prototype
$('selector').doSomething(); //then you may call it on any jQuery object

jQuery plugin authoring更多.

猜你在找的JavaScript相关文章