JavaScript之变量提升 变量提升 变量提升 JavaScript的执行顺序是先扫描真个函数体的语句,把所有变量和函数的声明提升到函数的顶部。 也就是说,在一个作用域里,只要你声明了一个函数或者变量,无论你在声明前还是声明后使用这个函数或者变量都不会报语法错误。 console.log(x); var x = 3;//undefined x之所以是undefined,是因为JavaScript只是将变量声明提升,而没有将赋值提升。 执行顺序是这样的: var x; console.log(x); x = 3;