JavaScript ES6 的 let 和 var 的比较
在JavaScript 1.7中, let 关键词被添加进来, 我听说它声明之后类似于”本地变量“, 但是我仍然不确定它和 关键词 var 的具体区别。
回答:
不同点在于作用域, var关键词的作用域是最近的函数作用域(如果在函数体的外部就是全局作用域), let 关键词的作用域是最接近的块作用域(如果在任何块意外就是全局作用域),这将会比函数作用域更小。
同样, 像var 一样, 使用let 声明的变量也会在其被声明的地方之前可见。
下面是Demo 例子。
全局(Global)
当在函数体之外它们是平等的。
- let me = 'go'; //globally scoped
 - var i = 'able'; //globally scoped
 
函数(Function)
当瞎下面这种, 也是平等的。
- function ingWithinEstablishedParameters() {
 - let terOfRecommendation = 'awesome worker!'; //function block scoped
 - var sityCheerleading = 'go!'; //function block scoped
 - };
 
块(Block)
这是不同点, let 只是在 for 循环中, var 却是在整个函数都是可见的。
- function allyIlliterate() {
 - //tuce is *not* visible out here
 - for( let tuce = 0; tuce < 5; tuce++ ) {
 - //tuce is only visible in here (and in the for() parentheses)
 - };
 - //tuce is *not* visible out here
 - };
 - function byE40() {
 - //nish *is* visible out here
 - for( var nish = 0; nish < 5; nish++ ) {
 - //nish is visible to the whole function
 - };
 - //nish *is* visible out here
 - };
 
JavaScript ES6 的 let 和 var 的比较的更多相关文章
- [转]JavaScript ES6 class指南
		
[转]JavaScript ES6 class指南 前言 EcmaScript 2015 (又称ES6)通过一些新的关键字,使类成为了JS中一个新的一等公民.但是目前为止,这些关于类的新关键字仅仅是建 ...
 - JavaScript ES6 新特性详解
		
JavaScript ES6 带来了新的语法和新的强大功能,使您的代码更现代,更易读 const , let and var 的区别: const , let 是 ES6 中用于声明变量的新关键字. ...
 - JavaScript ES6 promiss的理解。
		
本着互联网的分享精神,我将我对promise的理解分享给大家. JavaScript ES6的promise方法主要应用在处理异步函数返回的结果,注意他不是将异步函数转换为同步函数,而是等异步函数有结 ...
 - JavaScript  es6 class类的理解。
		
本着互联网的分享精神,在本篇文章我将会把我对JavaScript es6 class类的理解分享给大家. JavaScript 类主要是 JavaScript 现有的基于原型的继承的语法糖. 类语法 ...
 - JavaScript ES6功能概述(ECMAScript 6和ES2015 +)
		
JavaScript在过去几年中发生了很大的变化.这些是您今天可以开始使用的12项新功能! 该语言的新增内容称为ECMAScript 6.它也称为ES6或ES2015 +. 自1995年JavaScr ...
 - JavaScript ES6中,export与export default
		
自述: 本来是对new Vue()和export default比较懵的,查了一下,发现我理解错了两者的关系,也没意识到export与export default的区别,先简单的记录一下基本概念,后续 ...
 - JavaScript ES6 数组新方法 学习随笔
		
JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...
 - JavaScript ES6中export、import与export default的用法和区别
		
前言 相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在看他们之间的区别之前,我们先来看看它们的用法. ES6 import和export的用法 ...
 - JavaScript中变量声明有var和没var的区别
		
JavaScript中变量声明有var和没var的区别 JavaScript中有var和没var的区别 Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (functi ...
 
随机推荐
- Highcharts中文参考手册
			
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...
 - js   添加广告
			
需要调用广告的页面 <script type="text/javascript"> var xzname="巨蟹座";</script& ...
 - testNG中同一个test节点上class的执行顺序
			
如果每个class中都有setUp(),那么先执行所有class的setUp方法,之后再执行具体的测试方法.这样就导致只有最后一个测试能通过,其他测试都失败了. 具体设置如下图:
 - 为什么要使用sass
			
或许你已经听过一个叫作Sass的东东?可能你已经了解它,并且你能像大师一样写出一些函数? 对于不清楚我在讲什么的读者或者客户,你们可以想想web开发过程,你们的期望和站点用户的体验想要怎样的.无论如何 ...
 - 一个服务器上面配置多个IP ,实现指定IP的域名请求
			
//配置多个IP命名using System.Net; //********************************************************************** ...
 - 在命令行中通过adb shell am broadcast发送广播通知
			
通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_U ...
 - (C#) 反转字符串,反转一个句子中单词。
			
这个是非常基本的一道面试题,但是要考虑周全. 首先反转一个字符串: 基本思路是变成Char数组,然后调用C#里面的方法,或者设定两个index,从头,尾向中间遍历,并交换. 方法一: Array.Re ...
 - [Tex学习笔记]开方
			
$$\sqrt[n]{\frac{a}{b}}$$ $$\sqrt[\uproot{7}n]{\frac{a}{b}}$$
 - 文件_ _android从资源文件中读取文件流并显示的方法
			
======== 1 android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...
 - powerDesigner 报Unable to connect SQLState=08004 解决方法
			
在使用PowerDesigner配置数据库连接(configure connections)的时候,点击Test connection之后弹出Unable to connect SQLState=08 ...