<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
<script>
var v = "hello";
function test (){
console.log(v);
var v = "world";
}
// 这段代码运行的结果是什么呢?
// 答案是:undefined
// 这段代码说明了两个问题,
// 第一,function作用域里的变量v遮盖了上层作用域变量v。
// 第二,在function作用域内,变量v的声明被提升了。所以最初的代码相当于:
//
// var v = "hello";
// function test (){
// var v; //声明一个变量 声明提升,但是不会被赋值
// console.log(v);
// v = "world";
// }
</script>
变量声明提升笔试题
最新推荐文章于 2023-05-24 14:03:47 发布