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. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  2. cogs 7. 通信线路

    7. 通信线路 ★★   输入文件:mcst.in   输出文件:mcst.out   简单对比时间限制:1.5 s   内存限制:128 MB 问题描述 假设要在n个城市之间建立通信联络网,则连通n ...

  3. c++实现数据结构1.顺序表

    头文件seqlist.h #ifndef _SEQLIST_H_ #define _SEQLIST_H_ #include<iostream> using namespace std; t ...

  4. sleep与信号唤醒的问题 & 内核对信号的处理方式

    注意,sleep是会被信号唤醒的.   sleep函数:#include <unistd.h>unsigned int sleep(unsigned int seconds);此函数使调用 ...

  5. D. Multiplication Table 二分查找

    刚做这道题根本没想到二分,最关键是没想出来怎样统计在这个矩阵中比一个数小的有几个怎么算.造成自己想了好久最后看了别人的提示才做出来.哎.好久不做题太弱了 #include<iostream> ...

  6. cppunit 的使用

    原文: http://blog.csdn.net/abcdef0966/article/details/5699248

  7. DotNetBar.Bar作为容器使用的方法及Text更新原理

    DotNetBar.Bar作为容器使用的方法及Text更新原理                          老帅    一.容器用法   控件DevComponents.DotNetBar.Ba ...

  8. 在Win7中修改 系统盘中 “系统” - “用户” 的环境变量映射关系

    1.在此列表中,选中对应登录帐号 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 2.将Prof ...

  9. 最经典的SDK程序结构 HelloWin

    程序运行效果:在创建窗口的时候,播放一个声音.且在窗口的客户区中央画一句文字:Hello, Windows 98!,无论程序怎么移动.最大化,文字始终在程序的中央部位. 程序总共分为六个步骤:定义,注 ...

  10. oc55--ARC单个对象的内存管理

    // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @end // Person.m #i ...