什么是块级作用域,为什么说js没有块级作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是块级作用域,为什么说js没有块级作用域相关的知识,希望对你有一定的参考价值。

正常的语言函数内部是块级作用域,那么if内部有没有块级的呢

参考技术A js的if中没有块级作用域,js中只有函数作用域。没有块级作用域一说

js-varletconst的区别

js-var、let、const的区别

  • var

    • 可以重复声明

    • 作用域在全局

    • 有变量提升现象

    • 声明变量前调用不会报错

  • let

    • 块级作用域 { }大括号为标识,简写省略大括号会报错

    • 在同一个块级作用域中不能重复声明

    • 没有变量提升现象

    • 声明变量完成前调用都会报错

  • const

    • 也是块级作用域

    • 同一个块级作用域不能重复声明

    • 没有变量提升

    • const用来声明常量

    • const声明时就要进行赋值,不然会报错

    • 保存简单类型为常量,赋值后不能再改变

    • 保存对象保存的只是一个指向实际数据的地址,不可变的是这个地址,但是对象本身是可变的,所以依然可以为该对象添加属性和方法

以上是关于什么是块级作用域,为什么说js没有块级作用域的主要内容,如果未能解决你的问题,请参考以下文章

js没有块级作用域但有函数作用域

0140 JavaScript作用域:概述全局作用域函数作用域块级作用域

JS块级作用域和私有变量实例分析

什么是快级作用域,es6中如何实现块级作用域

(function(){ //这里是块级作用域 })();

let与const详解