--- id: 587d7db2367417b2b2512b8b challengeType: 1 forumTopicId: 301328 title: 了解立即调用函数表达(IIFE) --- ## Description
JavaScript 中的一个常见模式就是,函数在声明后立刻执行: ```js (function () { console.log("Chirp, chirp!"); })(); // 这是一个立即执行的匿名函数表达式 // 立即输出 "Chirp, chirp!" ``` 请注意,函数没有名称,也不存储在变量中。函数表达式末尾的两个括号()导致它被立即执行或调用。这种模式被叫做自执行函数表达式或者IIFE
## Instructions
重写函数makeNest,并删除它的调用,取而代之是一个匿名的自执行函数表达式IIFE)。
## Tests
```yml tests: - text: 该函数应该是匿名的。 testString: assert(/\((function|\(\))(=>|\(\)){/.test(code.replace(/\s/g, ""))); - text: 函数应该在表达式的末尾有括号,以便立即调用它。 testString: assert(/}\)\(\)/.test(code.replace(/\s/g, ""))); ```
## Challenge Seed
```js function makeNest() { console.log("A cozy nest is ready"); } makeNest(); ```
## Solution
```js (function () { console.log("A cozy nest is ready"); })(); ```