JavaScript代码是按顺序执行的吗

39 阅读1分钟

做题入口

var showName = function() {
    console.log(2)
}
function showName() {
    console.log(1)
}

请思考以下代码如何执行


分割线


解答

javaScript代码执行是有变量提升的,并且遵循先编译后执行的过程,所以以上代码执行的过程为:

编译阶段:

var showName;

function showName(){console.log(1)}

执行阶段:

showName() // 就会输出1

showName = function () {console.log(2)}

再继续执行showName的话就会输出2

此文章为10月Day011学习笔记,内容来源于极客时间《浏览器的原理与实践》,强烈推荐该课程