2 cyccsr cyccsr 于 2017.01.06 00:28 提问

js声明前置时候,是变量声明先前置还是函数声明先前置?

如题,js声明前置时候,是变量声明先前置还是函数声明先前置?想了半天实在想不出怎么证明。

1个回答

showbo
showbo   Ds   Rxr 2017.01.06 09:09

var申明会最先,再到函数

alert(abc)//abc函数,如果是函数申明最先,那么这里应该是undefined,因为var申明变量和函数都会提升,如果是函数提升最早,这里应该是undefined,因为var申明变量会在此作用域前面申明并赋值为undefined,实际执行赋值语句后才是赋值后的值,看下面说明
function abc(){}
alert(abc)//abc函数

var abc=1

alert(1)//

参考:javascript运行机制浅析

showbo
showbo 上面的代码实际等价于 var abc=undefined; function abc(){} alert(abc); alert(abc); var abc=1; alert(1);
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片