原文:全局作用域中,用 const 和 let 声明的变量不在 window 上,那到底在哪里?如何去获取?

在ES 中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象。 但ES 规定,var 命令和 function 命令声明的全局变量,依旧是顶层对象的属性,但 let命令 const命令 class命令声明的全局变量,不属于顶层对象的属性。 在哪里 怎么获取 通过在设置断点,看看浏览器是怎么处理的: 通过上图也可以看到,在全局作用域中,用 le ...

2019-07-18 15:39 0 890 推荐指数:

查看详情

原生js的let和var:作用域作用域链,let声明全局变量不是window对象的属性

原生js面试题:作用域作用域链,let声明全局变量不是window对象的属性 JavaScript从入门到精通专栏收录该内容146 篇文章28 订阅订阅专栏 这篇博文是我在心情不好的情况下写的。 一、作用域作用域,就是变量作用的区域(范围)。或者说,js代码执行时,查找变量的范围 ...

Wed Oct 27 23:09:00 CST 2021 0 95
letconst全局定义的变量属于全局作用域还是块级作用域

总结:在全局定义变量时(包括定义函数),var所定义的变量(以及function定义的函数)具有全局作用域,所以定义完毕以后就会添加入全局对象(在浏览器中即window全局对象)。window全局对象中的变量,可以通过window.xxx来访问到。由于const let定义的变量是块级 ...

Tue Nov 17 05:31:00 CST 2020 0 442
var、letconst声明变量的区别

let和var声明变量的区别:1.let声明变量只在let命令所在的代码块内有效。(块级作用域) 另外,for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 2.let命令不存在变量 ...

Mon Feb 25 19:14:00 CST 2019 0 6568
js:变量声明方式(const、var、let

1、const (1)给常量赋值并输出 测试: 可以正常输出 (2)修改 (3)不赋值 const可以保证数据的安全性,虽然不能改变对象的值,但是可以改变对象的指向。 2、var (1)定义并赋值 ...

Tue Jun 23 17:59:00 CST 2020 0 792
JS中的变量声明—var let const

ES6之前,JS都只用var声明变量。ES6不仅增加了letconst两个关键字,而且还让这两个关键字压倒性的超越var成为首选。 1.var 使用var声明变量变量会被自动添加到最近的上下文(作用域)。   如在函数中,最近的上下文就是函数的局部上下文。如果变量未经声明就被初始化 ...

Thu Jan 14 18:36:00 CST 2021 0 457
[javascript] var let const声明变量的区别

使用var关键字声明全局作用域变量属于window对象。 使用let关键字声明全局作用域变量不属于window对象。 使用var关键字声明变量在任何地方都可以修改。 在相同的作用域或块级作用域中,不能使用let关键字来重置var关键字声明变量。 在相同的作用域或块级作用域中,不能使 ...

Fri Apr 24 01:15:00 CST 2020 0 678
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM