JavaScript一次性函数
时间: 2023-06-18 08:04:06 浏览: 53
一次性函数(Immediately Invoked Function Expression,IIFE)是一种在声明时立即执行的JavaScript函数。这种函数通常用于在不污染全局命名空间的情况下,创建一个私有作用域来执行一些代码。
IIFE的基本语法如下:
```
(function() {
// 这里是函数体
})();
```
在这个示例中,我们定义了一个匿名函数并立即执行它。由于这个函数是匿名的,我们不能直接调用它。因此,我们使用括号将函数包装起来,并在末尾添加另一个括号来立即执行它。
IIFE常用于创建私有变量和函数,以及在JavaScript中模拟块级作用域。例如,以下代码使用IIFE来创建一个私有作用域,并在其中定义一个私有变量`counter`,并暴露一个公共方法`increment`,用于增加计数器的值:
```
var counter = (function() {
var count = 0;
return {
increment: function() {
count++;
console.log(count);
}
};
})();
counter.increment(); // 输出1
counter.increment(); // 输出2
counter.increment(); // 输出3
```
在这个示例中,我们定义了一个匿名函数并立即执行它,该函数返回一个对象,其中包含一个名为`increment`的方法。该方法在每次调用时将`count`变量增加1,并将当前计数器值输出到控制台。由于我们只暴露了`increment`方法,因此`count`变量是私有的,并且不能直接访问。每次调用`increment`方法时,都会在私有作用域内增加计数器的值,并将其输出到控制台。