您的位置:首页 > Web前端 > JavaScript

(Javascript) 猴子也明白 之 闭包超级入门 3 匿名函数

2012-06-12 01:10 393 查看
定义[b]函数的方法1 (普通做法)[/b]

<script>

function speak(){ alert(“hello”); }

speak(); // 弹出“hello”对话框

</script>

相当普通的做法。

以下是Javascript特有的写法。

定义[b]函数的方法2 (使用匿名函数)[/b]

<script>

var speak = function () { alert(“hello”); }

speak(); // 弹出“hello”对话框

</script>

注意第2行。

等式右边的function (){…..}就叫做匿名函数

将等式右边的匿名函数放入speak变量,然后就可以把

speak变量当函数使用。

speak()--当speak后加上括号,就执行了函数。

以上方法1和方法2,可以认为几乎是等价的。

定义匿名函数,并立即执行

在上记的方法2,一共有3个步骤:

定义匿名函数
将匿名函数设到变量speak里
speak() 以执行函数
将函数放到speak临时变量里,是不是感到很多此一举?

于是可将此步骤省略:

<script>

( function () { alert(“hello”); } )(); // 弹出“hello”对话框

</script>

如上,省略掉了speak变量,感觉很清爽吧。

总结--

可通过如下形式来立即执行匿名函数:

( function( ){…} )();

至于为什么function左边还需要一个括号?这也许不好理解,但不这么做的话就会出错。

就把它当成语法记住吧。(貌似下一版本的Javascript可以将它省略掉。)

这种匿名函数被立即执行的方式,被广泛用在闭包里。

至此,可以说大概理解了闭包的60%了吧。

距离学会闭包,又迈出了一大步!:-)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: