作者:LAMP小白 点击:2188 发布日期:2013-01-03 20:02:00 返回列表
即时函数模式(immediate function pattern)是一种可以支持在定义函数后立即执行函数的语法
1.可以使用函数表达式定义一个函数
2.在末尾添加一组括号,这将导致函数立即执行
3.将整个函数包装在括号中
mio_lt;scriptmio_gt; (function() { console.log('1111111'); })(); mio_lt;/scriptmio_gt;
这个模式是非常有用的,因为他为初始化代码提供了一个作用域沙箱,所有初始化工作只需要执行一次,所以没有必要去声明一个可复用的命名
函数,而且函数使用的一些临时变量在执行完一次之后也没有必要继续存在了,而且不会泄露至全局作用域中
即时函数的参数
一般情况下,全局对象是以参数传递给即时函数的,以便于在不使用window:指定全局作用域限定的情况下可以再函数内部访问该对象,这样将
使得代码在浏览器环境之外时具有更好的操作性
mio_lt;scriptmio_gt; (function(win) { console.log(win); })(this); mio_lt;/scriptmio_gt;
即时函数返回值
同一般函数
mio_lt;scriptmio_gt; var a = (function(win) { return win; })(this); console.log(a); mio_lt;/scriptmio_gt;
即时函数模式得到了广泛使用,他可以帮助包装许多想要执行的工作,且不会在后台留下任何全局变量,定义的所有这些变量将会事用于自调用
函数(self-invoking function)的局部变量,并且不用担心全局空间被临时变量所污染
上一篇:惰性函数定义 下一篇:快递查询API