2.ES6,let基本用法
来源:互联网 发布:js节点操作 编辑:程序博客网 时间:2024/05/24 07:00
----------------------------------------------------------------------------------let命令----------------------------------------------------
基本用法
ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
不存在变量提升
let不像var那样,会发生“变量提升”现象。
暂时性死区
只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。
不允许重复声明
let不允许在相同作用域内,重复声明同一个变量。
--------------------------------------------------------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let与var的区别</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
{
var a=100;
let b=200; //let所声明的变量,只在let命令所在的代码块内有效
}
console.log(a); //100
console.log(b); //b is not defined --Error
</script>
</head>
<body>
</body>
</html>
----------------------------------------------------------------------let不存在变量提升------------------
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>let不存在变量提升</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
//ES5
console.log("ES5:");
var a=[];
for(var i=0;i<10;i++){
var c=i;
a[i]=function(){
console.log(c);
};
};
a[5]();//输出为9,不管a[]为几,总是要等循环结束才跳出循环
//ES6
console.log("ES6:");
var b=[];
for(var j=0;j<10;j++){
let d=j;
b[j]=function(){
console.log(d);
};
};
b[5](); //输出5,即 let不像var那样,会发生“变量提升”现象。
</script>
</head>
<body>
</body>
</html>
---------------------------------------------------------------let暂时性死区-----------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let暂时性死区</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
{
console.log(a); //undefined
let a=100;
console.log(a); //100
}
</script>
</head>
<body>
</body>
</html>
---------------------------------------let不受外界影响-------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let不受外界影响</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
var a=100;
{
console.log(a); //undefined
let a=100;
console.log(a); //100
}
</script>
</head>
<body>
</body>
</html>
--------------------------------------------------------------------------let模块内不允许重复声明----------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let模块内不允许重复声明</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
{
var a=100;
var a=200;
}
console.log(a);
{
var b=100;
let b=200;
}
console.log(b);//报错
{
let c=100;
var c=200;
}
console.log(c);//报错
{
let d=100;
let d=200;
}
console.log(d);//报错
</script>
</head>
<body>
</body>
</html>
-------------------------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let不允许重复声明</title>
<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
{
var a=100;
var a=200;
console.log(a);
}
{
let a=300;
console.log(a);
}
//模块内部不允许用let命令重复声明,模块之间可以重复声明
{
var a=1;
let a=2;
}
</script>
</head>
<body>
</body>
</html>
------------------------------------
- 2.ES6,let基本用法
- ES6入门--let的基本使用
- ES6中var let const用法
- ES6——Day1(let用法)
- ES6的let 与 const 的用法
- ES6 let
- ES6 --- let
- ES6--let
- ES6基本语法学习笔记--let与const
- ES6 笔记: 2.let和const命令
- es6箭头函数基本用法
- ES6 -- Iterator 的基本用法
- 浅谈ES6 let命令
- ES6之let
- 【ES6】let和const
- ES6——let
- ES6-let篇
- ES6语法中的let
- 起点
- E
- 第二章 SQL命令参考- SELECT INTO
- Java【MacBook pro下安装两种版本的jdk并切换】
- 规律题——2,3,5,7的n位最小的数
- 2.ES6,let基本用法
- 如何将自己的本地代码上传到GitHub上
- Shell基础编程
- Boost 智能指针(一)
- 六数码问题
- MATLAB基本操作之画图
- SpringMVC八种传值方式
- java链表
- ACM:下面是512汶川大地震部分受灾学校伤亡情况(惨痛!!)<