zoukankan      html  css  js  c++  java
  • js 立即调用函数

            function makeCounter() {  //不能立即执行
                // 只能在makeCounter内部访问i
                var i = 0;
    
                return function () {
                    console.log(++i);
                };
            }
            var counter = makeCounter(); //对象1
            counter(); // logs: 1 //立刻执行
            counter(); // logs: 2
            var counter2 = makeCounter(); //对象2
            counter2(); // logs: 1
            counter2(); // logs: 2
    
            var foo = function () { console.log("/* code */") }; //直接运行不了
            var foo = function () { console.log("/* code */") }();//直接运行
    
    
            function ff(){ /* code */ }(); // SyntaxError: Unexpected token  出错
            function ff() { console.log("/* code */") } (1); // 式子无异常,无输出
            function foo() { console.log("/* code */")};
                    (1);  //无报错  无输出
    
            (function () { console.log("/* code */") }()); // 推荐使用这个             直接输出
            (function () { console.log("/* code */") })(); // 但是这个也是可以用的     直接输出
    
            var i = function () { console.log("/* code */") }(); //直接输出
            true && function () { console.log("/* code */") }(); //直接输出
            0, function () { console.log("/* code */") }();  //直接输出
    
            !function () { console.log("/* code */") }();//直接输出
            ~function () { console.log("/* code */") }();//直接输出
            -function () { console.log("/* code */") }();//直接输出
            +function () { console.log("/* code */") }();//直接输出
    
            new function () { console.log("/* code */") };//直接输出
            new function () { console.log("/* code */") }();//直接输出
            
            function ff() {
                new function () { console.log("/* code */") };
                !function () { console.log("/* code */") }();
            }
            ff();  直接输出
      !function () { console.log("/* code */1") }(console.log("/* code */2"));//直接输出  先执行2 在执行1
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="jquery-1.10.2.js"></script>
    <script>
       function test() {
           (function($) { console.log("22222")})(jQuery);//输出 22222
           (function($) { console.log($)})(jQuery); //输出
           // jQuery = function( selector, context ) {
           //// The jQuery object is actually just the init constructor 'enhanced'
          // return new jQuery.fn.init( selector, context, rootjQuery );
       //},
           var T=1;
           (function(T) { console.log("11111")})(T); //输出111
           (function($) { console.log("11112")})($); //输出111
       }
    </script>
    </head>
    <body>
    <input type="button" value="测试执行效果" onclick="test()">
    </body>
    </html>

    var xhr1 = function () {
    if (typeof XMLHttpRequest != 'undefined') {
    return new XMLHttpRequest();
    }
    }();

    var xhr2 = (function () {
    if (typeof XMLHttpRequest != 'undefined') {
    return new XMLHttpRequest();
    }
    })();

  • 相关阅读:
    GitLab 远程 定时备份
    GitLab 本地 定时备份
    MATLAB格式化输出控制
    hilbert矩阵
    MATLAB符号运算
    双线性插值 分类: 图像处理 2015-07-28 15:14 7人阅读 评论(0) 收藏
    shamir叠像术 分类: 图像处理 2015-07-08 16:50 17人阅读 评论(1) 收藏
    cookies、sessionStorage和localStorage解释及区别
    微信小程序,组件之间带参数跳转+轮播图+冒泡事件+表单提交
    微信小程序,头部和底部设置需要注意的事项
  • 原文地址:https://www.cnblogs.com/enych/p/7930258.html
Copyright © 2011-2022 走看看