声明提前,函数声明提前,好吧,老生常谈的问题了.正好,前些天在掘金看到一道关于声明提前的笔试题,那么这里就以这道题来作为本文的引子吧,代码如下: console.log(a)//? a();//? ; function a(){ console.log(); } console.log(a);//? a = ; a();//? 四处分别输出什么?为什么?读完本文,最少也能在你心中激起一丝波澜了. 一.什么是声明提前 先来了解一个函数作用域的概念:变量在声明它们的函数体以及这个函数体嵌套的任意函数…