1 function a() {
console.log('1')
}
a()
(function () {
console.log('2')
})();运行之后2 a() function a() {
console.log('1')
}
(function () {
console.log('2')
})();如果这样就不会报错,当然如果把立即执行函数删除的话就不会报错。请教下这是什么原因
4 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
加分号吧
function a() { console.log('1') } a(); (function () { console.log('2') })();
侃侃无极
TA贡献2051条经验 获得超10个赞
规范书写
function a() { console.log('1') }; a(); (function () { console.log('2') })();
ABOUTYOU
TA贡献1812条经验 获得超5个赞
因为缺少分号,后面的又是括号,所以第一个识别为
a()(function () { console.log('2') })();
所以报错了(这时期望a返回一个函数),然后以一个匿名函数为参数调用再返回一个函数,再执行。
添加回答
举报
0/150
提交
取消