let:\
var 有变量提升超出块级作用域仍然有效\
let 没有变量提升超出块级作用域无效\
undefined 表示声明变量了没有赋值\
console.log(count); // 报错\
let count;\
let会在块级作用域内调用,如果在let声明前使用变量,此作用域变成暂时性死区\
typeof来判断未声明的变量,会输出undefined\
var 可以重复声明一个变量,后面声明的会替换掉前面的 let 不能重复声明一个变量\
两个let会报错,let和var各一个也会报错,更换顺序也报错\
let一个在作用域外面,一个在作用域里面,都可以调用不会报错\
在循环中var全局有效,let只在块级作用域内有效,再次使用会引起干扰,let不会\
函数:\
在循环内设置函数方法,在循环外输var得不到想要的值\
把var改成let,就会得到想要的值\
list[6](); 不管设置多少,结果都是10\
const:\
const是声明常量的,一旦声明不可以改变\
const和let一样有相同的属性\
const声明的同时必须赋值,否则会报错\
var 有变量提升超出块级作用域仍然有效\
let 没有变量提升超出块级作用域无效\
undefined 表示声明变量了没有赋值\
console.log(count); // 报错\
let count;\
let会在块级作用域内调用,如果在let声明前使用变量,此作用域变成暂时性死区\
typeof来判断未声明的变量,会输出undefined\
var 可以重复声明一个变量,后面声明的会替换掉前面的 let 不能重复声明一个变量\
两个let会报错,let和var各一个也会报错,更换顺序也报错\
let一个在作用域外面,一个在作用域里面,都可以调用不会报错\
在循环中var全局有效,let只在块级作用域内有效,再次使用会引起干扰,let不会\
函数:\
在循环内设置函数方法,在循环外输var得不到想要的值\
把var改成let,就会得到想要的值\
list[6](); 不管设置多少,结果都是10\
const:\
const是声明常量的,一旦声明不可以改变\
const和let一样有相同的属性\
const声明的同时必须赋值,否则会报错\
展开
评论
1