解释 JavaScript 中 `function foo() {}` 和 `var foo = function() {}` 之间 `foo` 的用法差异
Explain the differences on the usage of `foo` between `function foo() {}` and `var foo = function() {}` in JavaScript
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Functions
标签: javascript
参考答案摘要
总结 function foo() {} 是一个函数声明,而 var foo = function() {} 是一个函数表达式。 关键区别在于函数声明具有函数体提升,但函数表达式的函数体没有(它们具有与 var 声明的变量相同的提升行为)。 如果尝试在函数表达式声明之前调用它,将会得到一个 Uncaught TypeError: XXX is not a function 错误。 即使在函数声明之...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。