ES6新特性
一、let,const
$(function(){
//es6 ECMAscript规范,js实现
//let const var === 声明变量
var a = 'hello';
let b = 'hi';
// 1.不存在变量提升
console.log(c);
var c = 'c';
===
// var c;(此处为js预解析,隐含存在,上面的代码执行中隐藏着这个。)
console.log(c);
var c = 'c';
---
// 若var,执行结果为undefined;不是c也不会报错
// 若let,则会报错,let不存在预解析【error】
// 2.同一个作用域下不能重复定义同一个名称
var d = 1;
var d = 100;
console.log(d);
// 若var,执行结果为100,var定义的可以覆盖之前的
// 若let,执行结果报错,不可再次定义【error】
let d = 1;
d = 100 ;
console.log(d);
// 这种情况为修改,执行结果为100
// 3.有着严格的作用域 var属于函数作用域;let属于块级作用域
function fun(){
var n = 10