(Javascript) 猴子也明白 之 闭包超级入门 3 匿名函数
2012-06-12 01:10
393 查看
定义[b]函数的方法1 (普通做法)[/b]
以下是Javascript特有的写法。
定义[b]函数的方法2 (使用匿名函数)[/b]
等式右边的function (){…..}就叫做匿名函数
将等式右边的匿名函数放入speak变量,然后就可以把
speak变量当函数使用。
speak()--当speak后加上括号,就执行了函数。
以上方法1和方法2,可以认为几乎是等价的。
定义匿名函数
将匿名函数设到变量speak里
speak() 以执行函数
将函数放到speak临时变量里,是不是感到很多此一举?
于是可将此步骤省略:
总结--
可通过如下形式来立即执行匿名函数:
( function( ){…} )();
至于为什么function左边还需要一个括号?这也许不好理解,但不这么做的话就会出错。
就把它当成语法记住吧。(貌似下一版本的Javascript可以将它省略掉。)
这种匿名函数被立即执行的方式,被广泛用在闭包里。
至此,可以说大概理解了闭包的60%了吧。
距离学会闭包,又迈出了一大步!:-)
<script>
function speak(){ alert(“hello”); }
speak(); // 弹出“hello”对话框
</script>
相当普通的做法。function speak(){ alert(“hello”); }
speak(); // 弹出“hello”对话框
</script>
以下是Javascript特有的写法。
定义[b]函数的方法2 (使用匿名函数)[/b]
<script>
var speak = function () { alert(“hello”); }
speak(); // 弹出“hello”对话框
</script>
注意第2行。var speak = function () { alert(“hello”); }
speak(); // 弹出“hello”对话框
</script>
等式右边的function (){…..}就叫做匿名函数
将等式右边的匿名函数放入speak变量,然后就可以把
speak变量当函数使用。
speak()--当speak后加上括号,就执行了函数。
以上方法1和方法2,可以认为几乎是等价的。
定义匿名函数,并立即执行
在上记的方法2,一共有3个步骤:定义匿名函数
将匿名函数设到变量speak里
speak() 以执行函数
将函数放到speak临时变量里,是不是感到很多此一举?
于是可将此步骤省略:
<script>
( function () { alert(“hello”); } )(); // 弹出“hello”对话框
</script>
如上,省略掉了speak变量,感觉很清爽吧。( function () { alert(“hello”); } )(); // 弹出“hello”对话框
</script>
总结--
可通过如下形式来立即执行匿名函数:
( function( ){…} )();
至于为什么function左边还需要一个括号?这也许不好理解,但不这么做的话就会出错。
就把它当成语法记住吧。(貌似下一版本的Javascript可以将它省略掉。)
这种匿名函数被立即执行的方式,被广泛用在闭包里。
至此,可以说大概理解了闭包的60%了吧。
距离学会闭包,又迈出了一大步!:-)
相关文章推荐
- (Javascript) 猴子也明白 之 闭包超级入门 4 函数返回函数
- (Javascript) 猴子也明白 之 闭包超级入门 2 函数中的函数
- (Javascript) 猴子也明白 之 闭包超级入门 5 写一个闭包
- (Javascript) 猴子也明白 之 闭包超级入门 6 闭包的用途
- (Javascript) 猴子也明白 之 闭包超级入门
- (Javascript) 猴子也明白 之 闭包超级入门 1 问题
- 当javaScript从入门到提高前需要注意的细节:闭包部分
- JavaScript闭包-匿名函数和函数的作用域链
- 从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)
- [从jQuery看JavaScript]-匿名函数与闭包
- js匿名函数与闭包(简单易懂入门级介绍)
- 超级给力的JavaScript的React框架入门教程
- [从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)
- 当javaScript从入门到提高前需要注意的细节:闭包部分
- JS学习笔记:JavaScript匿名函数与闭包(closure)
- JavaScript 匿名函数(anonymous function)与闭包(closure)
- [从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)
- 【JavaScript】——匿名函数和闭包
- JavaScript 匿名函数、模块模式、闭包、命名空间、创建构造器(类)、继承
- JavaScript关于闭包,匿名函数,this,对象等的一些理解