/*
var /let /const区别
1. var 存在标量提升,而let 跟const存在变量提升(但是会存在暂时性死区)
同样会被提升变量到代码块的顶部但是不会被赋予初始值。在变量声明之前引用这个变量,将抛出引用错误(ReferenceError)。这个变量将从代码块一开始的时候就处在一个“暂时性死区”,直到这个变量被声明为止。(面试时候要是垃圾面试官说不会存在变量提升,直接让他去看MDN文档)
let 跟 const区别
let可以发生指针改变
而const 不能发生 指针改变
const A= function(x){
A=function(y){
alart(x+y)
}
}//报错
*/
var a = 10;
let b = 12;
if (1 == 1) {
console.log(a); //undefiend
console.log(b); //报错
var a = 100;
let b = 13;
console.log(a); //100
console.log(b); //13
}
console.log(a, b); //100,12
/*
除了 对象,function存在的大括号(其他的大括号出现这些...let,const,function,class),别的大括号会产生 私有块级上下文var(不会有存在)
*/