var foo = 1
(function foo () {})()
为什么会报错啊?这个不是函数表达式嘛?函数表达式难道也会提升吗?求解,谢谢大佬们 ~
var foo = 1
(function foo () {})()
为什么会报错啊?这个不是函数表达式嘛?函数表达式难道也会提升吗?求解,谢谢大佬们 ~
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
1 后面没有跟
;
,在解析的时候会变成下面这样报错
1 is not a function
一般无分号党都会知道一个基本规则,就是在
([/+-
这些符号作为一行开头的时候,会在前面加一个;
写成下面这样就是为避免这种错误
这里面涉及到 js 的 ASI 机制,看后面的参考文章
参考文章
JavaScript ASI 机制详解
JS魔法堂:ASI(自动分号插入机制)和前置分号
彻底放弃javascript句尾分号是怎样的一种体验?
JavaScript 语句后应该加分号么?
如何看待现在TC39委员会推荐JS语句末尾写分号?