jQuery中$(function(){})
1、(function($) {…})(jQuery);
1)、原理:
這實際上是匿名函式,如下:
function(arg){…}
這就定義了一個匿名函式,引數為arg
而呼叫函式時,是在函式後面寫上括號和實參的,由於操作符的優先順序,函式本身也需要用括號,即:
(function(arg){…})(param)
這就相當於定義了一個引數為arg的匿名函式,並且將param作為引數來呼叫這個匿名函式
而(function($){…})(jQuery)則是一樣的,之所以只在形參使用$,是為了不與其他庫衝突,所以實參用jQuery
相當於funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);
2)、作用(非常有用):
這種寫法的最大好處是形成閉包。在(function($) {…})(jQuery)在內部定義的函式和變數只能在此範圍內有效。
形成是否函式函式、私有變數的概念。比如:
- var i=3;
- function init(){
- alert("外層init:"+i);
- }
- (function($) {
- var i=2;
- function init(){
- alert("內層init:"+i);
- }
- init();
- })(jQuery);
- init();
執行結果:
內層init:2
外層init:3
相關文章
- $(function(){})與(function($){....})(jQuery)的區別FunctionjQuery
- javascript 中function(){},new function(),new Function(),Function 摘錄JavaScriptFunction
- 使用原生javascript實現jquery的$(function(){ })JavaScriptjQueryFunction
- JavaScript中的 FunctionJavaScriptFunction
- class中的arrow functionFunction
- java.util.function 中的 Function、Predicate、ConsumerJavaFunction
- YII2.0 jQuery(…).activeform is not a function in 終極解決方案jQueryORMFunction
- Sass中的mixin,function,extendFunction
- 去除字串中的漢字function字串Function
- jquery-3.4.1.js:10091 Uncaught TypeError: url.indexOf is not a functionjQueryJSErrorIndexFunction
- Java 中的泛型方法及 FunctionJava泛型Function
- 理解 JavaScript 中的 Function.prototype.bindJavaScriptFunction
- 理解JavaScript中的Function.prototype.bindJavaScriptFunction
- oracle11中的char_functionOracleFunction
- (jQuery) jQuery中的事件與動畫(上)jQuery事件動畫
- java高階用法之:JNA中的FunctionJavaFunction
- JS中Function.apply() 的騷操作JSFunctionAPP
- NCF 中如何將Function升級到FunctionRenderFunction
- Spring 5 MVC 中的 Router Function 使用SpringMVCFunction
- JavaScript中的Date,RegExp,Function物件JavaScriptFunction物件
- plsql中的procedure和function程式設計SQLFunction程式設計
- SAP中的一些FUNCTION應用Function
- ORACLE FUNCTION函式中DETERMINISTIC測試OracleFunction函式
- Vue中引入jQuery兩種方式可在vue中引入jQueryVuejQuery
- jquery分頁外掛呼叫報錯的問題:$(.).pagination is not a functionjQueryFunction
- jQuery中的事件jQuery事件
- jQuery中DOM操作jQuery
- C++中的虛擬函式(virtual function)C++函式Function
- 10g中function index無法避免排序FunctionIndex排序
- 【Azure Function】Azure Function中的Timer Trigger無法自動觸發問題Function
- jquery , find the event handler,找到jquery中的event handlerjQuery
- JavaScript FunctionJavaScriptFunction
- javascript Function()JavaScriptFunction
- sendDataByUdp FunctionUDPFunction
- Substr FunctionFunction
- Function : dumpFunction
- [Bash] functionFunction
- Loss FunctionFunction