js中的函数提升及变量提升,块级作用域

函数提升及变量提升:
   js中在函数作用域或全局作用域中通过关键字var声明的变量,无论是在哪里声明的,都会被当场当前作用域顶部声明的变量。(即为变量提升)
   函数提升同理在当前作用域中通过function声明的函数,无论是在哪里声明的,都会被当成顶部声明的函数
块级声明:
   1.块级声明用于声明在指定块的作用域之外无法访问的变量。块级作用域(亦被称为司法作用域;
   2.const 和 let都可用于块级作用域,且const为常量不可修改(注:虽不可修改绑定,但当为对象时可修改属性值)
   3.const 和 let 和 var 不可用于声明同一名称变量

例:

if(true){
let a = 123;
}
console.log(a)

注:块级声明只能在当前块作用域访问
例:

let a = 123
if (true) {
console.log(a);
let a = 321;
console.log(a);
}

posted @ 2021-09-27 23:57  kidrue  阅读(169)  评论(0)    收藏  举报