其他分享
首页 > 其他分享> > js的变量提升理解

js的变量提升理解

作者:互联网

先来看一段代码

showName()
console.log(myname)
var myname = '极客时间'
function showName() {
    console.log('函数showName被执行');
}

思考一下它的输出
在这里插入图片描述

为什么myname在声明之前就可以输出到控制台=>这就是因为变量提升

上面的代码等价于下边的代码


/*
* 变量提升部分
*/
// 把变量 myname提升到开头,
// 同时给myname赋值为undefined
var myname = undefined
// 把函数showName提升到开头
function showName() {
    console.log('showName被调用');
}

/*
* 可执行代码部分
*/
showName()
console.log(myname)
// 去掉var声明部分,保留赋值语句
myname = '极客时间'

js代码执行前会进行编译(变量提升也就在这个阶段发生)

在这里插入图片描述

注意

在这里插入图片描述

思考题1


function showName() {
    console.log('极客邦');
}
showName();
function showName() {
    console.log('极客时间');
}
showName(); 

在这里插入图片描述

分析一下执行过程

思考题2


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

在这里插入图片描述

分析一下执行过程

标签:function,console,log,函数,myname,js,理解,showName,变量
来源: https://blog.csdn.net/xinbaiyu/article/details/122263670