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();
}
})();

js 立即调用函数的更多相关文章

  1. js的调用函数前先执行某语句问题

    js的调用函数前先执行某语句问题 标签: web前端面试 2015-09-29 17:48 1455人阅读 评论(0) 收藏 举报  分类: js(5)  版权声明:本文为博主原创文章,未经博主允许不 ...

  2. js 立即调用函数 IIFE(Immediately Invoked Function Expression) 【转】

    原文链接:https://www.cnblogs.com/ming-os9/p/8891300.html JS中 (function(){...})()立即执行函数   1 (function(){. ...

  3. js里调用函数时,函数名带括号与不带括号的区别

    function test(){ return 1;}var a=test;console.log(a);//输出[Function: test]var b=test();console.log(b) ...

  4. jquery跨js文件调用函数示例

    var common_func; (function() { common_func = { load_hot_data: function(AreaCode) { var hot_html = &q ...

  5. arguments.callee 调用函数自身用法----JSON.parse()和JSON.stringify()前端js数据转换json格式

    arguments.callee 调用函数自身用法 arguments.callee 在哪一个函数中运行,它就代表哪个函数. 一般用在匿名函数中. 在匿名函数中有时会需要自己调用自己,但是由于是匿名函 ...

  6. Js 使用new关键字调用函数和直接调用函数的区别

    最近开始学习js,在看到书上的一个例子时,引发了我的一系列思考: 书上例子: function Person(name,age,job){ var o =new Object(); o.name=na ...

  7. 模板语言变量,js变量,js自执行函数之前嵌套调用

    1.模板语言变量 前端html页面中展示 {{ nodeIp }} 2.js变量引用模板语言变量 把模板语言变量传递给js,js去执行页面操作(变量的转换,只适用于字符串) var IP = &quo ...

  8. js new一个函数和直接调用函数的区别

    用new和调用一个函数的区别:如果函数返回值是一个值类型(Number.String.Boolen)时,new函数将会返回这个函数的实例对象,而如果这个函数的返回值是一个引用类型(Object.Arr ...

  9. js中直接调用函数和new函数的区别

    如果函数返回值为常规意义上的值类型(Number.String.Boolean)时,new函数将会返回一个该函数的实例对象,而如果函数返回一个引用类型(Object.Array.Function),则 ...

随机推荐

  1. Spring Boot-Starter(九)

    说明 在使用非spring boot项目我们集成spring mvc mybatis等框架往往需要大量xml配置, spring 的推出是为了解决项目的复杂度,随着项目的增长,xml配置会越来越臃肿, ...

  2. asp.net--解决上传文件大小限制

    原文地址 第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRuntime节点 对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大 ...

  3. 洛谷 P1378 油滴扩展

    P1378 油滴扩展 题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完 ...

  4. Two Heads Are Often Better Than One

    Two Heads Are Often Better Than One Adrian Wible PROGRAMMING REQUIRES DEEP THOUGHT, and deep thought ...

  5. 技术总结--android篇(四)--工具类总结

    StringUtil(视个人须要进行加入) public class StringUtil { public static boolean isMail(String string) { if (nu ...

  6. cocos2d js ClippingNode 制作标题闪亮特效

    1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似 ...

  7. 開始学习hadoop

    思前想后,还是准备自学hadoop,作为一个初级的linux学员,更不懂什么是云.hadoop仅仅知道是个框架和基础平台,详细什么玩意也得慢慢学习了解,但还是明确他的重要性.公司近期也在内部招聘这方面 ...

  8. buaa 1033 Easy Problem(三分)(简单)

    Easy Problem 时间限制:1000 ms  |  内存限制:65536 KB 描写叙述 In this problem, you're to calculate the distance b ...

  9. EF + WCF学习笔记——EF实体类序列化

    项目中如果 EF + WCF 结合使用,模式应该是EF负责读取数据库,传递数据对象给WCF,WCF再将这些对象传送给客户端.因为WCF传送的对象需要序列化,而EF默认生成的对象并没有序列化,很可能会出 ...

  10. java 工厂方法模式简单实例

    工厂方法模式:也叫工厂模式,属于类创建型模式,工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象. 目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究 ...