javascript另类闭包问题

发布网友 发布时间:2022-04-24 06:35

我来回答

3个回答

热心网友 时间:2022-04-25 04:03

闭包是一个匿名函数 (Anonymous function), 即是 (function() {}) 这部分。之所以要给 function 添加括弧是为了让它形成一个表达式 (expression), 有了表达式,并且确定它的类型是个函数 (Function 实例), 就可以直接调用它。所以,后面的一对括弧是可以工作的,它的意义是:我要调用 (call) 这个函数。
既然是函数调用,那就可以像一般的函数那样,在调用时传入参数。这就是本次讨论的话题。
传入 tmp参数
它有利于压缩减少最终代码的体积

热心网友 时间:2022-04-25 05:21

一种特殊的写法

将方法包裹在()中会立即执行该方法。

function(tmp){}(tmp)后面这个小括号是小括号的内容作为方法的参数。

<script>
(function(str){
alert(str);
}("hello world"))
</script>

猜一下结果吧。

热心网友 时间:2022-04-25 06:56

这是一个匿名函数,直接调用。

function(tmp){}(tmp) 如果不加括号,这样写会报错。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com