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("")})(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=;
(function(T) { console.log("")})(T); //输出111
(function($) { console.log("")})($); //输出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();
}
})();

05-28 00:41