javascript中的文件作用域是什么

javascript中的文件作用域是什么,javascript,scope,Javascript,Scope,javascript中文件范围内声明的变量是什么? 考虑到一个应用程序中使用多个文件,是否存在任何文件作用域。在JavaScript中,只有3种作用域类型: 全局范围(即在一个文件或多个文件中的函数外定义的每个变量/函数) 功能范围(即功能中定义的每个变量/功能) 闭包范围(即可以访问其周围词法范围的代码块/函数) ES6模块形成它们自己的文件范围(好像文件的全部内容都包装在一个函数中) 模块中声明的变量从该模块外部完全不可访问(除非它们是exported)。您指的是全局范围吗?模块范围?我从未

javascript中文件范围内声明的变量是什么?

考虑到一个应用程序中使用多个文件,是否存在任何文件作用域。

在JavaScript中,只有3种作用域类型:

  • 全局范围(即在一个文件或多个文件中的函数外定义的每个变量/函数)
  • 功能范围(即功能中定义的每个变量/功能)
  • 闭包范围(即可以访问其周围词法范围的代码块/函数)

  • ES6模块形成它们自己的文件范围(好像文件的全部内容都包装在一个函数中)


    模块中声明的变量从该模块外部完全不可访问(除非它们是
    export
    ed)。

    您指的是全局范围吗?模块范围?我从未听说过“文件范围”。这取决于您是否使用模块。没有“文件范围”。有全局、函数、求值或(最近)块。@SLaks,我们在应用程序中使用es6导入语句。有什么东西和它有关吗?如果我能得到任何链接来阅读,以澄清这一困惑,这将非常有帮助。@AndrewLi我不知道模块范围,我会继续阅读。谢谢由于“闭包范围”是函数和块的组合,并且函数是#2,#3应该是“块”。闭包是由能够访问外部作用域的作用域构成的,因此是ECMAScript的人工制品,而不是它们自己的“作用域”。-)当您使用
    const
    let
    时,Javascript现在也具有块级作用域。