1. 程式人生 > >js 立即調用函數

js 立即調用函數

ted expect var syn cti nta () 直接 函數

        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

js 立即調用函數