JS - 初识作用域

作用域

2022-09-29

----------------

全局作用域:函数之外声明的变量

局部作用域:代码块里

  变量定义的位置 - 函数内外

 - ES2015

  let:

  重新 声明变量

1 { 
2   let x = 10;
3 }
4 // 此处不可以使用 x
5 // 使用 let 关键字重新声明变量可以解决这个问题。在块中重新声明变量不会重新声明块外的变量:

 

- 在相同的作用域,不允许通过 let 重新声明一个 let / var 

  const

  不可以重新赋值

 

    块作用域

1 var x = 10;
2 // 此处,x 为 10
3 { 
4   const x = 6;
5   // 此处,x 为 6
6 }
7 // 此处,x 为 10

 

  必须在声明时赋值

  没有定义常量值,定义了对值的常量引用

    · 不能更改常量原始值

    · 常量对象可以更改

    可以更改常量对象的属性

    无法重新为常量对象赋值

    · 可以更改常量数组的元素

  重新声明

  在程序中的任何位置都允许重新声明 JavaScript var 变量:

  在同一作用域或块中,不允许将已有的 var 或 let 变量重新声明或重新赋值给 const

  在同一作用域或块中,为已有的 const 变量重新声明声明或赋值是不允许的:

  在另外的作用域或块中重新声明 const 是允许的:

posted @ 2022-09-29 11:28  yzhone  阅读(18)  评论(0)    收藏  举报