js 立即調用函數
阿新 • • 發佈:2017-11-30
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 varcounter2 = 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 出錯 functionff() { 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 立即調用函數