1.var可以重复声明 var a = 12; var a = 5; alert(a) //5 2.var无法限制修改 如:PI = 3.1415: 3.var没有块级作用域 { } 像: if(){ } for(){ } 这都是块级作用域,在这里面定义的变量则在块级域外面是没法使用的. 4.let和const不能重复声明 let a =12; let a=5; alert(a)//报错 const a =12; const a=5; alert(a)//报错 5.let是可以重复修改的,但是c…
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b 上面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值.这表明,let声明的变量只在它所在的…
ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); // 10 ------------------------------ //let var a = []; for (let i = 0; i < 10; i++) { a[i] = function () { console.…
ES6 简单语法: 变量声明 ES5 var 声明变量为全局变量 会变量提升 ES6 let 声明的变量为块级变量 且不能重复声明 不存在变量提升 # {}一个大括号为一个作用域 ES6 const 声明一个只读的常量,一旦声明,常量的值就不能改变,且一旦声明必须立即初始化 解构赋值(解包) 例如: 数组 let [a,b,c] = [1,2,3] a = 1 b = 2 c = 3 默认赋值 let[a=3,b] = [2] a=2 b=undifind let c let [a=2] = […
ES6.基本语法* ES6可以使用=>作为函数表达形式,简单的风格: 参数 + => +函数体;* 在JS中是以var定义一个变量 ,在ES6中是以let定义变量; let 和 var 区别: A. var 声明变量,其作用域为局所在的函数内,且存在变量提升现像; B. left 申明变量,其作用域为改语句所在的代码内,不存在变量的提升; // var 的情况 console.log(foo); // 输出undefined var foo = ; // let 的情况 conso…
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量变成全局变量. 2. 不存在变量提升 3. 暂时性死区 if(true){ let a=10; } console.log(a); // a is not defined //防止循环变量变成全局变量 for(var i=0;i<2;i++){ } console.log(i); // i=2(只有…