3.ES6为什么需要块级作用域
来源:互联网 发布:客服系统源码 编辑:程序博客网 时间:2024/05/20 08:26
为什么需要块级作用域?
ES5只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。
第一种场景,内层变量可能会覆盖外层变量。
第二种场景,用来计数的循环变量泄露为全局变量。
ES6的块级作用域
let实际上为javascript新增了块级作用域。
-------------------------------------------第一种场景,内层变量可能会覆盖外层变量。--------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一种场景</title>
<!--<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
</script>-->
<script type="text/javascript">
var time=new Date(); //获取系统的当前时间
function fun(){
console.log(time);
if(false){
var time="hello world!";//内部的time把外面全局的time的地址给覆盖了,但是只有false时才会运行time="hello world!",于是undefined
};
};
fun(); //输出undefined
</script>
</head>
<body>
</body>
</html>
--------------------------------------------------第二种场景,用来计数的循环变量泄露为全局变量。--------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第二种场景</title>
<!--<script src="js/traceur.js"></script>
<script src="js/bootstrap.js"></script>
<script type="text/traceur">
</script>-->
<script type="text/javascript">
var string="hello world!" ;
for(var i=0;i<string.length;i++){
console.log(string[i]);
};
console.log("循环结束");
console.log(i); //输出12
</script>
</head>
<body>
</body>
</html>
- 3.ES6为什么需要块级作用域
- Es6入门之块级作用域
- ES6之块级作用域
- ES6的块级作用域--读书笔记
- ES6中的块级作用域
- ES6之块级作用域
- 浅谈ES6 块级作用域
- ES6之块级作用域分析
- 4.ES6块级作用域
- 理解ES6: 块作用域
- ES6块级作用域及新变量声明(let)
- ES6允许块级作用域的任意嵌套
- ES6入门(一):块级作用域
- ES6——Day1(块级作用域)
- ES6初探-let与块级作用域
- ES6之块级作用域与函数声明--读书笔记
- 深入理解ES6--块级作用域(let const)
- ES6之let、const和块级作用域
- Ngin搭建图片服务器
- wifi不断重连报错:eSIR_MAC_CLASS3_FRAME_FROM_NON_ASSOC_STA_REASON解决
- Kubernetes的多集群管理实践
- unity使用Socket与HTTP连接服务器传输数据包
- Iptables
- 3.ES6为什么需要块级作用域
- 面向对象--Object类
- 日期选择器DailLog提示框
- CGAL 4.11 官方文档 软件包概述 ——胞腔复形与多面体类
- 两种开源聊天机器人的性能测试(二)——基于tensorflow的chatbot
- audioUnit实现步骤(无代码)
- 基于Kubernetes的DevOps实践培训 | 深圳站
- 容器监控的基石Prometheus 2.0到来
- 第十周项目1(2)-由先序序列和中序序列构造二叉树