(function($){})(jquery) == (function($){})(jQuery)

实际上是匿名函数

用于存放开发插件的代码

作用(非常有用):

这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。

  形成是否函数函数、私有变量的概念。比如:

  1. var i=3;
  2. function init(){
  3. alert("外层init:"+i);
  4. }
  5. (function($) {
  6. var i=2;
  7. function init(){
  8. alert("内层init:"+i);
  9. }
  10. init();
  11. })(jQuery);
  12. init();

执行结果:

内层init:2

外层init:3

以下是一個實驗的例子

<script src="js/jquery-1.7.1.min.js"></script>
   <script type="text/javascript">

//(function ($) {
        //    alert(1);
        //    $.a = function (i)
        //    {
        //        alert(i.name);
        //        this.shows = function (j)
        //        {
        //            alert(j);
        //            alert(3);
        //            abc();
        //            def();
        //        }
        //        abc = function ()
        //        {
        //            alert(4);
        //        }
        //        def = function ()
        //        {
        //            i.callBack(666666);
        //        }
        //    }
        //})($);
        //var i = new $.a({
        //    name:"sdy",
        //    callBack: function (no)
        //    {
        //        alert(no);
        //        alert(1234);
        //    }
        //});
        //i.shows(123);

function MM($) {
            alert(2);
            $.a = function (i) {
                alert(i.name);
                this.shows = function (j) {//this為必須寫的
                    alert(j);
                    alert(1);
                    cc();
                }
                aa = function () {
                    alert("aa");
                }
                bb = function () {
                    alert("bb");
                }
                cc = function ()
                {
                    i.callBank("回調函數");//回調函數 callBack 寫錯也沒事 哈哈哈哈
                }
            }
        };
        MM(jQuery);
        var abc = new $.a({
            name: "sdy", callBank: function (no)
            {
                alert(no);
            }
        });
        abc.shows(1);
        //(function ($) {
        //    alert(1);
        //    alert($);
        //})(jQuery);

//function MM($) {
        //    alert(2);
        //}
        //MM(jQuery)
            
        //    (function(str){alert(str)})("aaa");
        ////相当于:
        //function OutPutFun(str) { alert(str); };
        //OutPutFun("output");

js匿名函數的更多相关文章

  1. js正則函數 match、exec、test、search、replace、split 使用介紹集合

    match 方法 使用正則表達式模式對字元串執行查找,並將包含查找的結果作為數組返回. stringObj.match(rgExp) 參數 stringObj 必選項.對其進行查找的 String 對 ...

  2. js函數

    函數是什麼?函數就是被事件驅動或者調用執行的可重複的代碼塊. 函數聲明: 使用關鍵詞function,關鍵詞function大小敏感. function a{代碼塊} 局部變量: 在函數內部聲明的變量 ...

  3. oracle decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數

    oracle   decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數

  4. JS匿名函数的理解

    js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的 ...

  5. Math.Round函數

    Math.Round這個函數的解釋是將值按指定的小數位數舍入,但並不就是四捨五入.這種舍入有時稱為就近舍入或四舍六入五成雙 其實在 VB, VBScript, C#, J#, T-SQL 中 Roun ...

  6. JS匿名函数自执行函数

    JS匿名函数自执行函数:(function(){})();(function(){}) 这是一个函数,函数后面接(),则是调用函数 比如(function(arg){console.log(arg); ...

  7. C#判断奇偶数的函數

    // 现代流行的"程序员" public static bool IsOdd(int n) { while (true) { switch (n) { : return true; ...

  8. PHP 計算字符串長度函數

    PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數.對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差 ...

  9. SQL窗体函數一例

    需求: MSSQL,列出服務實例中全部數據庫的例如以下信息: 數據庫ID.數據庫名.創建日期.數據文件類型.數據文件大小.數據庫總大小.文件所在路徑. 寫法(後面的百分比為所花時間占比): -- 连接 ...

随机推荐

  1. Ajax实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  2. serialVersionUID

    serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 有两种生成方式: 一个是默认的1L,比如:private static final l ...

  3. webAPI获得链接客户端IP地址

    public static class HttpRequestMessageExtensions { private const string HttpContext = "MS_HttpC ...

  4. Using Pre-Form Trigger In Oracle Forms

    Pre-Form trigger in Oracle Forms fires during the form start-up, before forms navigates to the first ...

  5. CSS hack的写法

    css hack简单的说就是由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致 ...

  6. JAVA开发--游戏24点

    也比较简单,写的不好,代码里用到了LOOKANDFELL,QUAQUA8.0的包 package com.Game24; import java.awt.Container; import java. ...

  7. java运行期类型鉴定

    运行期类型识别?RTTI? 假如我们有一个基类的引用,这个引用也可以作为子类的引用嘛,现在我们想知道这个引用的类型到底是啥? 当从子类到基类之后有很多的信息都会丢失掉,比如有一个人类的对象可以看成普遍 ...

  8. [SAP ABAP开发技术总结]ABAP读写、解析XML文件

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. JQ将数组转换为Json

    var ArrComList; try { //接口传进来的数据格式为 A,B,C,D,这里根据逗号分隔返回数组. ArrComList = WeighControl.GetComList().spl ...

  10. ServiceStack.OrmLite 笔记2 -增

    ServiceStack.OrmLite 笔记2 这篇主要介绍 增加 db.Insert(new Employee { Id = 1, Name = "Employee 1" }) ...