美文网首页web前端学习
2018-11-29 js中的var(变量提升)和let

2018-11-29 js中的var(变量提升)和let

作者: 正阳Android | 来源:发表于2018-11-29 20:10 被阅读2次

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>变量提升</title>

</head>

<body>

<script type="text/javascript">

// 使用var声明,会出现变量提升

function foo() {

var x = 'Hello, ' + y;

console.log(x);

var y = 'Bob';

}

foo();

// 这里并不会报错,打印出来的数据是 hello,undefined; // 因为js中会自动提升变量y的声明,但是不会提升变量y的赋值

// 使用let

function foo2() {

let x = 'Hello, ' + y;

console.log(x);

let y = 'Bob';

}

//  使用let,会报错,y is not defined;

// 另外,使用var声明变量,可以多次声明而不报错

function foo3() {

var x = 1;

var x = 2;

console.log(x);

}

foo3();

// 使用let声明-这么做会报错,出现x has been declared

function foo5() {

let x = 1;

let x = 2;

console.log(x);

}

foo5();

</script>

</body>

</html>

相关文章

  • 前端面试题整理

    针对js的问题 let 和 var的区别是什么var声明的变量都是全局变量,不存在局部变量,有变量提升;let可以...

  • var/let/const的区别

    var有变量提升,let/const没有变量提升。原因是:var(function也是)在js进行解释扫描的时候,...

  • 2019-07-25

    1.let var区别 var,let 作用域在该代码块中。let 不存在变量提升,var 存在变量提升。cons...

  • js 2022经典面试题汇总

    1.JS数据类型有哪些 2.var、let、const区别 var存在变量提升,而let、const没有 let、...

  • 常用ES6语法

    一.var let const (1). 在js中 通常使用 var会发生变量提升,即脚本开始运行时,变量已经存在...

  • 2018-11-29 js中的var(变量提升)和let

    变量提升 // 使用var声明,会出现变量提升 function foo() { ...

  • js问题

    js中let和var定义变量的区别,主要体现在作用于的不同。 var定义的变量是全局变量或者函数变量。 let定义...

  • 面试题 var let const的区别 箭头函数和普通函数的区

    var let const 有什么区别 var var声明的变量可进行变量提升,let和const不会var可以重...

  • ECMAScript 6 一问三不知

    let var const let 块级作用域不存在变量提升(var变量提升,值为undefined,let变量必...

  • var、const和let

    一.var声明的变量会挂载在window上,而const和let变量不会 二.var声明变量存在变量提升,let和...

网友评论

    本文标题:2018-11-29 js中的var(变量提升)和let

    本文链接:https://www.haomeiwen.com/subject/cdhqcqtx.html