名字叫栈的都是 "先进后出,后进先出"
那么这个 "先进后出,后进先出"到底指的是什么呢
是这个
可以看到代码确实是自上而下执行的,先打印的bar1,再打印的foo,那这不就是先调用的先执行吗,
"先进后出,后进先出"到底指的是什么呢 它指的是执行完,可以看到,如果foo不执行完,bar2是打印不出来的,所以foo虽然是后调用,但是它要先执行完,才返回回bar函数去打印bar2
不论多少层都是这样"先进后出,后进先出"
突然发现js这个语言是函数驱动的,除了声明.表达式.就基本全是函数了,你看哪个地方没有小括号()的,console.log()就是个函数
所以js执行栈才叫js函数执行栈,开始还不理解为什么就叫函数,原来js就是都是函数