原文:全局作用域中,用 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