猿问

function(){}()报错的原因,是在预编译阶段就报错了?还是执行()时才报错呢?请教下

对立即执行函数表达式IIFE,function(){}();报错的原因有疑惑。
请教下,是在预编译阶段就报错了,还是执行()时才报错呢。
js在"预编译"阶段, 会解释函数声明, 但却会忽略表式
1、一种是预编译阶段就报错,因为预编译时会声明成一个缺少名字的function,并且抛出一个语法错误信息,因为function声明需要一个名字。
2、执行();时才报错。 由于function() {//code}在"预编译"阶段已经被解释过, js会跳过function(){//code}, 试图去执行();, 故会报错



LEATH
浏览 1621回答 1
1回答

慕村9548890

语法错误是在编译时报错 ;逻辑错误是在执行时报错 ;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答