var let const作用域_实例变量用什么声明

var let const作用域_实例变量用什么声明读《全局作用域中,用const和let声明的变量去哪了?》

大家好,又见面了,我是你们的朋友全栈君。

输入

全局作用域中,用const和let声明的变量去哪了?

问题

各位大佬,问个问题,let、const声明的变量,暴露在全局,为什么没挂载到window下?究竟挂载到哪里去了?

输出

我们打开控制台,输入

const a = 123;
function abcd() {
    console.log(a);  // abcd函数的作用域能访问到a
};
dir(abcd);

可以在方法的[[Scopes]] 属性中,看到变量a

图片描述

const、let 这类都是,属于声明性环境记录,“Declarative Environment Records” ,和函数、类这些一样,在单独的存储空间。
var这类,属于对象性环境记录,“object environment record”,会挂载到某个对象上,也会沿着原型链去向上查找

说明const、let声明变量不挂载到对象上,但是在全局的活动对象中能访问到let、const 声明记录,也就是作用域链那边没问题

但是不是全局window对象的属性,所以window.a访问不到

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106952.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • tar命令打包和压缩与解压

    tar命令打包和压缩与解压

  • 如何在WEBIDE个人版中添加其它版本的资源库「建议收藏」

    如何在WEBIDE个人版中添加其它版本的资源库「建议收藏」SAP资源库不断的在更新,怎么在本地的WEBIDE中使用新版本中的控件呢?答案就是添加相应版本的SDK到本地的resource库1.下载所需要版本的源这里下载所需要的SDK2.添加源到WEBIDE只需要解压resource和test-resource这两个文件夹到本地WEBIDE路径下,参照本地orion所在的目录路径在这个路径下对应下载的SDK的版本新建一个文件夹,我下的…

    2022年10月10日
  • MySQL的字段类型_mysql数据库字段类型

    MySQL的字段类型_mysql数据库字段类型前言:要了解一个数据库,我们必须了解其支持的数据类型。MySQL支持大量的字段类型,其中常用的也有很多。前面文章我们也讲过int及varchar类型的用法,但一直没有全面讲过字段类型,本篇文章我们将把字段类型一网打尽,讲一讲常用字段类型的用法。常用的字段类型大致可以分为数值类型、字符串类型、日期时间类型三大类,下面我们按照分类依次来介绍下。1.数值类型数值类型大类又可以分为整型、浮点型、…

  • 数据分析师:大数据建模,你需要了解九大形式

    数据分析师:大数据建模,你需要了解九大形式

    2021年11月21日
  • android开发之做一个竖着的seekbar

    工作繁忙,总想有机会停下来喘口气,整理一下思路,做一些积累,但是这样的机会很少。要做android的界面,基础的要求是熟悉那些内置的组件(prebuilt componments),而有时候这些组件是不够用的,这时候我们就需要自己写一个新的,或者修改内置的。这就要求我们了解更多知识,比如各个View是怎么画出来的,UI上各种事件是如何分发和处理的等等。这些我都计划写出来和大家分享,网络上中文资料,

  • Visual Studio的sln文件解析

    Visual Studio的sln文件解析查看更多:https://www.yuque.com/docs/share/b9a1076b-5094-4f97-b958-18fbafcaae0c?#

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号