zoukankan      html  css  js  c++  java
  • JavaScript 小刮号

     网上说:小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值这个返回值实际上也就是小括号中表达式的返回值。

    所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。

    因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它的引用位置了。所以如果在这个引用变量后面再加上参数列表,就会实现普通函数的调用形式。

    alert((function (x, y) { return x + y; })(2, 3)); // "5"  
    alert((new Function("x", "y", "return x*y;"))(2, 3)); // "6"
    alert(function (x, y) { return x + y; }(2, 3)); // "5"  
    alert(new Function("x", "y", "return x*y;")(2, 3)); // "6"
      var hon = function () { alert("fd"); } ()  //hon是undefined,不是方法
    
            var Class = {
                fun: function () {       
                    return function (a) {   //  1
                        alert(a);
                    }
                }()
            }
            var Class2 = {
                fun: function () {            // 2
                    return function (a) {    
                        alert(a);
                    }
                }  
            }
            Class.fun("hongda");              // 1 这里执行到function()时,有小刮号直接执行,fun就相当于function(a)
            Class2.fun("hongdada");            //2  相当于function()
    Class2.fun()("hongdada"); //与1等效
    (Class2.fun())("hongdada"); //有效 以毒攻毒,七步之内必有解药 小刮号就用小刮号对付 兵对兵,将对将

    jquery插件的模式

    (function ($) {
     //code
     })(jQuery);
    
     var jq = function ($) {
     //code
     });
     jq(jQuery);

    这两个是等效的

    好处:1.避免全局依赖

            2.避免第三方破坏

            3.兼容jQuery操作符"$"和"jQuery"

  • 相关阅读:
    这两天又是一次巨大的飞跃
    防范式编程:
    泛型那点儿事儿 泛型概述 简单样例代码
    FindPrivateKey X509
    Remoting Generic Async Queue (Release 3) 不受 Remoting 对象生存期过期约束
    AntiXSS Library v3.0
    X509 static RSACryptoServiceProvider 高并发加解密
    EncodingHelper Identify Encoding by BOM
    NetStatTool
    EditPlus 于 20090602 升级到 v3.11(340)
  • 原文地址:https://www.cnblogs.com/hongdada/p/2873293.html
Copyright © 2011-2022 走看看