let var
let和var的区别:
相同点 :在全局声明的变量是全局变量,在局部声明的变量是局部变量
不同点 :
1、let声明的变量不能重复声明
2、let声明的变量不能提升
3、let声明的变量只在当前块作用域中有效
4、let声明的变量会产生暂时性的死区,只在当前块作用域中查找
相同点:
// var 和 let的相同点
// var num = 10
let num = 10
function fn() {
// var num = 11
let num = 11
console.log(num);
}
fn()
console.log(num);
不同点:
// 不同点 :1、let声明的变量不能重复声明
// let num = 10;
// 不同点 :2、let声明的变量不能提升
// console.log(num1);
// var num1 = 20
console.log(num1);
let num1 = 20
</script>
<script>
// 不同点 :3、let声明的变量只在当前块作用域内有效
if (1) {
let num2 = 10
console.log(num2);
}
console.log(num2);
</script>
<script>
// 不同点 :4、let声明的变量会产生暂时性的死区,只在当前块作用域中查找
conts:
conts :
1、conts声明的变量是常量,不能改变
2、conts声明的变量必须赋初值
3、conts声明的变量不能重复声明
4、conts声明的变量不能提升
5、conts声明的变量只在当前块作用域中有效
6、conts声明的变量会产生暂时性的死区,只在当前块作用域中查找
es5和es6的区别:
es5 和 es6 区别 :
1、es6新增了箭头函数,es5没有;
2、ES6中新增了块级作用域,es5没有;
3、ES6引入Class概念,不再像ES5一样使用原型链实现继承;
4、ES6中可以设置默认函数参数,es5不行;
5、ES6中新增了promise特性。