jQuery中$(function(){})與(function($){})(jQuery)、$(document).ready(function(){})等的區別講解

1.(function($){...})(jQuery);閉包

  (1)、原理:函數

         這其實是匿名函數,以下:文檔

    function(arg){...}io

    這就定義了一個匿名函數,參數爲arg;而調用函數是,是在函數後面寫上括號和實參的,因爲操做符的優先級,函數自己也須要用括號,即(function(arg){...})(param)function

    這就至關於定義了一個參數爲arg的匿名函數,而且 將param做爲參數來調用這個匿名函數;匿名函數

    而(function($){...})(jQuery)則是同樣的,之因此只在形參 使用$,是爲了避免與其餘庫衝突,因此實參用jQuery變量

    至關於function output(s){...};output(jQuery);或者var fn=function(s){...};fn(jQuery);原理

  (2)、做用(很是有用):document

    這種寫法的最大好處是造成閉包。在(function($){...})(jQuery)在內部定義的函數和變量只能在參數

此範圍內有效。

2.$(function(){...});jQuery(function($){...});$(document).ready(function(){...})這三個的做用是同樣的;

文檔載入完成後執行的函數。

相關文章
相關標籤/搜索