解释为什么以下代码不能作为 IIFE 工作:`function foo(){}();`。需要更改什么才能使其成为一个正确的 IIFE?
Explain why the following doesn't work as an IIFE: `function foo(){}();`. What needs to be changed to properly make it an IIFE?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: Functions
标签: javascript
参考答案摘要
TL;DR 代码 function foo(){}(); 不能作为立即调用函数表达式 (IIFE) 工作,因为 JavaScript 解析器将 function foo(){} 视为函数声明,而不是表达式。要使其成为 IIFE,你需要将函数用括号括起来,将其转换为函数表达式: (function foo(){})(); 。 * 为什么代码不能作为 IIFE 工作 函数声明 vs. 函数表达式 在 ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。