es6面试题
程序员文章站
2023-12-21 23:45:10
...
声明变量var跟let有什么区别?
- 不存在变量提升
console.log(c); var c = '111'; 这边var存在预解析,变量提升,执行方式其实如下 var c; console.log(c); //所以很显然这边打印出来的值是undefined c = '111';
- 同一个作用域下不能重复定义同一个名称
- 有着严格的作用域
function fun(){ let n = 10; if(true){ let n = 100; } console.log(n); // n=10 //这边的n不会报错,因为let是块级作用域啦 } fun();