es6 - ECMAScript6的版本
js从来不敢说自己是世界上最好语言,js产生的时候,只用了10天就被创造出来,并且作者只是为了应付公司的任务敷衍完成的 - 本身先天性就有一些不好的地方 - 弱类型语言
es1~es5 - 让自己变得强大
es6 - 量变引起了质变 - 质的飞跃
定义变量,在es6中新增了两个关键字 let const
let关键字
1.不能重复定义
let a = 10;
console.log(a);
let a = 20;
console.log(a);//不能这样干
2.let定义的变量没有预解析,不能提升
console.log(a);
let a = 20;
3.let 定义的变量会给自己创建一个块作用域,将自己能起到作用的范围固定在大括号中
for(let i=1;i<=5;i++){
}
console.log(i);
4.let定义的变量不在window上
var a = 10;
console.log(window);
let b = 20;
console.log(window);
5.let的使用案例
for(var i=1;i<=3;i++){
setTimeout(function(){
console.log(i);
},1000);
}
// 请问,最后在浏览器中的结果是什么? 4 4 4
// 在代码中一定要小心异步操作,异步代码永远在同步代码之后执行
6.如果希望使用var达到let的效果 - 在循环中执行异步操作
for(var i=1;i<=3;i++){
function fn(i){
setTimeout(function(){
console.log(i);
},1000)
}
fn(i);
}
const关键字
const 的使用方式和let一样,但是const是定义常量(不能改变的量)的 ,const定义的量不能重复赋值,其余特点和let一样。在项目中,可以用const关键字去定义不需要改变的常量或是变量。


被折叠的 条评论
为什么被折叠?



