文档章节

ES6学习记录-let和var的区别

王潭不是王雨潭
 王潭不是王雨潭
发布于 2017/04/28 19:19
字数 260
阅读 14
收藏 0
点赞 0
评论 0

1、let声明的变量只在所处的代码块内有效

{
    let a = 10;
    var b = 1;
}
console.log(a);//会报错:a is not defined
console.log(b);//输出1

2、let不存在变量提升,就是说let声明的变量必须先声明再使用

console.log(a);//会报错:a is not defined,因为没有变量提升
console.log(b);//undefined,因为有变量提升,b已存在但未赋值

let a = 10;
let b = 1;

3、let存在暂时性死区(temporal dead zone,TDZ)

如果区块中存在let或者const命令,区块对该命令声明的变量形成封闭作用域。也就是说在let、const命令生命之前,变量都是不可用的。

var temp = 123;
if(true){
    console.log(temp);//输出123
    var temp = 2;
}
if(true){
    console.log(temp); //报错:temp is not defined,存在暂时性死区
    let temp = 2;
}

4、let声明的变量不能重复声明

var a = 123;
var a = 12; //不报错

var b = 123;
let b = 12;//报错

let c = 123;
var c = 12;//报错

let d = 123;
let d = 12;//报错

© 著作权归作者所有

共有 人打赏支持
王潭不是王雨潭
粉丝 4
博文 18
码字总数 16942
作品 0
杭州
前端学习笔记!

作为一个前端新人,看了很多关于前端的博客,觉得有必要去记录点知识点和自己的总结,所以在工作之余写了这篇文章,该博客有引用到其他文章的内容,纯属学习,在此膜拜一下各位前端大大。 一...

黑人tao
2017/02/20
0
0
WEB前端学习:ES6块级作用域的概念详解

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰
06/01
0
0
【探秘ES6】系列专栏(十二):let和const

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获授权,将持续对该...

一配
2015/11/17
0
0
前端问题总汇

1、vue1.0到vue2.0的变化?组件之间如何通信? 2、webpack主要做了什么?怎么打包的? 3、模块化是做什么的?模块化解决了什么问题?模块化有什么优点呢? AMD、CMD、commonJS这些要了解,再...

xuhaoxin123
2017/11/20
0
0
ECMAScript 6 let 命令介绍

一、使用 let 命令来声明变量的总结 ES6新增了let命令 ,它是一个块级域的局部变量,并且可以给它一个初始化值。let允许把变量的作用域限制在块级域中。与 var 不同处是:var申明变量要么是全...

AAASSSSddd
2016/11/30
16
0
改变你代码习惯的ECMAScript

ECMAScript和Javascript的关系 1996年11月,Javascript的创造者--Netscape公司,决定将Javascript提交给国际标准化组织ECMA,希望这种语言能够成为国际标准。次年ECMA发布262号标准文件(ECM...

xdl刘涛
2016/08/24
2
0
WEB前端学习:学会ES6的函数新功能,少写10000行代码

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰
05/31
0
0
WEB前端学习:ES6的数组改动

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰
06/05
0
0
JavaScript 学习记录

在此以做记录,有什么问题还望大家指正。 关键字:算法、模块化、闭包、随机数、浮动、bind、正则、DOM分析 闭包理解和问题解决 当你输入一个网址的时候,实际会发生什么? 英文地址 翻译地址...

RookieDay
2017/05/26
0
0
ES6中常用的10个新特性讲解

ECMAScript 6(ES6) 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。 ...

木亦Sam
06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

nginx负载均衡

一、nginx 负载均衡 拓扑图: 主机信息: 1、负载均衡器1(lb1):192.168.10.205 RHEL7.5 2、负载均衡器2(lb2):192.168.10.206 RHEL7.5 3、web服务器1(web01):192.168.10.207 Centos...

人在艹木中
5分钟前
0
0
Java Stream 简单使用

什么是流 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操...

阿豪boy
14分钟前
0
0
做了一个小网站

做了一个小网站 www.kanxs123.com

叶落花开
今天
0
0
继社会佩奇之后,又尝试了可爱的蓝胖子,有趣 Python

#哆啦A梦# !/usr/bin/env python3# -*- coding: utf-8 -*-# @Author: dong dong# @Env: python 3.6from turtle import *# 无轨迹跳跃def my_goto(x, y): penup(...

Py爱好
今天
0
0
shell及python脚本方式登录服务器

一、问题 在工作过程中,经常会遇见需要登录服务器,并且因为安全的原因,需要使用交互的方式登录,而且shell、python在工作中也经常用到,并且可以提供交互的功能。都是利用了expect、spawn...

yangjianzhou
今天
0
0
upstream sent too big header while reading...

nginx 报错:1736 upstream sent too big header while reading response header from upstream 1. 一般处理 location ~ \.php$ { #增加下面两句 fastcgi_buffer_size 128k; ......

dubox
今天
0
0
Python解析配置文件模块:ConfigPhaser

import configparser as pa# [SectionA]# a = aa# b = bb# c = cc# [SectionB]# optionint = 1# optionfloat = 1.1# optionstring = string#https://www.cnblogs.com/a......

易野
今天
0
0
Java基础——面向对象

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Object的方法: clone() Object 克隆 to Strin...

凯哥学堂
今天
0
0
rabbitmq学习记录(八)消息发布确认机制

RabbitMQ服务器崩了导致的消息数据丢失,已经持久化的消息数据我们可以通过消息持久化来预防。但是,如果消息从生产者发送到vhosts过程中出现了问题,持久化消息数据的方案就无效了。 Rabbit...

人觉非常君
今天
0
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部