前言 从2015年的ES6开始,JavaScript的语言标准每年都在更新,其中尤其以ES6的力度之大,到现在ES10已经发布,这里总结一下新语法。 参考:阮一峰 ECMAScript 6 教程 、ECMAScript 6入门 、1.5万字概括ES6全部特性 声明变量 const 块级作用域,变量被 ...
分类:
其他好文 时间:
2020-01-04 22:15:56
阅读次数:
104
关于const: 1.const声明的基本类型的值不可重复声明,不可修改,声明之后需要初始化,声明存在暂时性死区,只在声明的块级作用域内有效。 2.const本质上确保的是变量的内存地址的数值不会被改动,所以对于基本类型的值来说,数值在栈中保存,不会被修改;但是对于对象来说,const声明的对象不可 ...
分类:
编程语言 时间:
2019-12-25 17:35:58
阅读次数:
105
第一部分:ES6新增了块级作用域,let关键字用于声明变量,相较于var而言,let关键字不存在声明提前。 1.ES6真正的出现了块级作用域,使用双花括号括住并在其中用let声明变量,会存在暂时性死区,在作用域外面使用变量会报错。 2.在循环中,如for循环,let命令相较于var命令会更好,原因在 ...
分类:
其他好文 时间:
2019-12-24 18:29:59
阅读次数:
75
[TOC] let const 1. let要好好用 1. 基本用法 let命令用于声明变量,但是在所声明的变量具有块级作用域的特性,只在let命令所在的代码块中有效。 先看下面这段代码输出什么: 程序的输出结果是10而不是8,因为i是全局变量,执行完for循环后,i的值变为10,a数组中存放的是 ...
分类:
其他好文 时间:
2019-12-23 22:12:43
阅读次数:
101
let 它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 1)ES6 中增加块级作用域。 2)不存在变量提升 3)不允许重复声明const 声明一个只读的常量,一旦声明,常量的值就不在改变。 详情http://es6.ruanyifeng.com/#docs/let ...
分类:
其他好文 时间:
2019-12-18 14:44:04
阅读次数:
64
一、块级作用域绑定 回顾:使用var关键字定义变量 定义 = 声明 + 赋值; 1. 可以一次定义多个变量 2. 定义时可以只声明不赋值 3. 定义之后可以随时修改变量的值 4. 变量声明会被提升 5. 可重复定义变量 6. 全局定义的变量会被作为全局对象(global/window)的属性 7. ...
分类:
其他好文 时间:
2019-12-06 00:33:34
阅读次数:
96
let/var 将let看成是var的进化; let有块级作用域; 闭包可以解决没有块级作用域的问题,因为函数是一个作用域闭包的每次执行是独立的 Es5之前,因为if和for都没有作用域的概念,所以在很多时候,我们都必须借助于function的作用域来解决应用外部变量的问题, Es6中,加入了let ...
分类:
其他好文 时间:
2019-11-21 17:15:21
阅读次数:
92
let: 1.声明的变量不存在预解析; console.log(a); let a=1; 2.变量名不允许重复(在同一作用域下); { let a=1; let a=2; console.log(a) } 3.在外部无法访问申明在块级作用域内的let变量; { let a=1; } console. ...
分类:
其他好文 时间:
2019-11-20 12:54:51
阅读次数:
59
一、ES6 什么是:ECMAScript第六个版本 优点:在不改变原理的基础上,简化了js代码 问题:兼容性 包括: 1.let 什么是:专门代替var来声明变量的 为什么:var的问题: 1.声明提前 2.没有块级作用域 何时:只要声明变量都用let 优点: 1.阻止了声明提前 2.添加了块级作用 ...
分类:
其他好文 时间:
2019-11-16 23:11:55
阅读次数:
72
匿名函数就是没有名字的函数 闭包就是一个函数中的另一个函数 函数可以不加分号,但是语句要加!! 可以把匿名函数的返回值赋值给变量!! box()时返回里面的函数,再加一个()就会返回里面那函数的值(浅显的理解) 使用对象冒充 块级作用域: 变量前不加var便是声明全局变量! ...
分类:
编程语言 时间:
2019-11-16 21:52:11
阅读次数:
77