logo

解释为什么以下代码不能作为 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 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

解释为什么以下代码不能作为 IIFE 工作:`function foo(){}();`。需要更改什么才能使其成为一个正确的 IIFE?

Hardjavascript

想查看完整答案?

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

前往学习中心查看答案