1.解析器执行函数表达式和函数声明会有不同的反应,解析器在向执行环境加载数据时,会率先解析函数声明,而至于函数表达式,等到解析器执行到它的时候,才会解析。
如下:
alert(sum2(1,2)); function sum2(a,b){ return a + b; } alert(sum3(1,3)); let sum3 = function(a,b){ return a + b;; }
sum2为函数声明,会率先执行,而sum3等到必须等解析器解析到它这里时,才能运行。两个函数运行结果如下:
sum2:
sum3: