logo

解释为什么 `function foo(){ }();` 不能作为 IIFE 工作?要怎么改才是正确的 IIFE?

Explain why `function foo(){ }();` doesn't work as an IIFE. What needs to be changed to properly make it an IIFE?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: easy

分类: javascript-fundamentals

标签: IIFE, Function Expression

参考答案摘要

答案 `function foo(){ }();` 会被解析成“函数声明”`function foo(){}` 加上一个孤立的 `()`,后者没有可调用目标,因此语法报错。 要让它成为 IIFE,需要把它变成“函数表达式”,常见写法:`(function foo(){ })()` 或 `(function foo(){ }())`;也可以匿名:`(function(){ })()`。 还有一种写法...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

解释为什么 `function foo(){ }();` 不能作为 IIFE 工作?要怎么改才是正确的 IIFE?

Easyjavascript

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案