JavaScript执行上下文栈javascript
顺序执行?
-
若是要问到JavaScript代码执行顺序的话,想必写过JavaScript的开发者都会有个直观的印象,那就是顺序执行。
var foo = function(){
console.log (1)
}
foo()// 1
var foo = function(){
console.log (2)
}
foo()// 2
然而去看这段代码java
function foo(){
console.log (1)
}
foo()// 2
function foo(){
console.log (2)
}
foo()// 2
打印结果是两个2函数
这是由于JavaScript引擎并不是一行一行的分析和执行程序,而是一段一段分析执行,当执行一段代码的时候,会进行一个
准备工做,好比第一个例子中的变量提高,和第二个例子的函数提高。
可执行代码
-
JavaScript可执行代码的类型有:全局代码,函数代码,eval代码
举个例子,当执行到一个函数时,就会进行一些准备工做,这里的
准备工做,就叫作
执行上下文栈