全域性作用域中,用const和let宣告的變數去哪了?
用const和let宣告的變數,不會存在window物件中
大家都知道在全域性作用域中用var宣告的變數,儲存在window物件中
但是用ES6的const或者let在全域性作用域中宣告的變數,卻不在window物件中
那這個全域性變數
abcd
被儲存在哪裡呢?經過我的尋找,終於在函式的內部屬性[[Scopes]]
中找到了,如下圖
如上圖,在全域性變數中用
const
宣告的變數在函式noop
中可以正常訪問,沒有問題。我用dir
方法打印出函式noop
的屬性,最後在[[Scopes]]
屬性內找到了消失的全域性變數abcd
。
完。
相關推薦
全域性作用域中,用const和let宣告的變數去哪了?
用const和let宣告的變數,不會存在window物件中 大家都知道在全域性作用域中用var宣告的變數,儲存在window物件中 但是用ES6的const或者let在全域性作用域中宣告的變數,卻不在window物件中 那這個全域性變數abc
在C++中,用new和delete分配和釋放記憶體:
https://www.cnblogs.com/hugongai/p/5833070.html1.例如,給一個4*5的二維陣列分配記憶體方法一:直接申請二維陣列,逐一分配記憶體 1 int **array; 2 //分配記憶體 3 array=new int*[4];
什麽是作用域鏈,什麽是原型鏈,它們的區別,在js中它們具體指什麽?
function fun 創建 原型鏈 變量 pro pos bject prototype 作用域是針對變量的,比如我們創建了一個函數,函數裏面又包含了一個函數,那麽現在就有三個作用域 全局作用域==>函數1作用域==>函數2作用域 作用域的特點就是,先在
函數的嵌套和作用域鏈,閉包
global 變量 全局 如果 local 定義 其他 閉包 限制 函數嵌套: #指在第二個函數裏面調用第一個函數的結果 def func(): print(‘sss‘) def func1(f): f() func1(func) 作用域鏈: #最內層的函數
函式物件,名稱空間和作用域以及閉包函式和裝飾器
重點:函式func() 兩層含義: 第一層: func 指函式物件,指向記憶體地址 第二層: 括號表示觸發函式功能 一. 函式物件(可以理解為函式名):在面對物件中,一切皆物件 具體體現:1.函式可以引用 2.可以作為函式的引數 3.可以作為函式返回值
2018年10月24日 JS中 【“邏輯運算”,“面試題:作用域問題”,“dom對象”】這些問題的意見見解
dcb stc ima 事件 代碼 客戶端 document model 變量 1、邏輯運算 || && ! ||:遇到第一個為true的值就中止並返回 &&:遇到第一個為false的值就中止並返回,如果沒有false值,就返回最後一個
關於strlwr,strupr等函式在此作用域中尚未宣告的問題
簡單題中遇到的問題!~~ 1423: String Task Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description Petya started to attend programm
NodeJS中的全域性作用域
在JS中有一種特殊的物件成為全域性物件,這個物件在NodeJS對應的是global物件,在瀏覽器中對應的是window物件。由於全域性物件的所有屬性在任何地方都是可見的,所以這個物件又稱為全域性作用域。全部作用域中的變數不論在什麼函式中都可以被直接引用,而不必通過全域性物件。
作用域中LHS查詢和RHS查詢
LHS查詢:賦值操作左側的查詢,LHS查詢試圖找到變數的容器本身,,從而對其賦值。 RHS查詢:賦值操作右側的查詢,可以理解為“取到某某的值” 舉例: function foo(a) { console.log(a); } foo(2); RHS查詢有: foo(
在變數作用域方面,函式宣告和函式表示式有什麼區別?
函式宣告提升,在函式宣告時定義好作用域; 函式表示式,只是變數名提升,隨著變數的改變,作用域也改變。 詞法環境with,和try…catch…不會影響函式宣告的變數作用域,但會影響函式表示式的變數作
css中absolute使用,用position和transform是div裡面的div垂直居中
我以前看的一本書上是這麼寫的如果一個div的position屬性為absolute那麼這個div不會受頁面的其他元素影響,直接基於頁面定位這是錯誤的。看w3c,用google查posi
js中函數作用域,作用域鏈,變量提升
pre 實參 取反 出錯 第三題 無法訪問 調用 聲明變量 相互 先來分析幾個容易出錯的題目 第一題: var foo = 1 function bar(){ if(!foo){
android NDK開發中,用Cygwin調試本地代碼時報錯“Another debug session running,Use --force to kill it”原因及解決的方法
能夠 att cati kill 時報 andro 使用 deb gdb調試 在使用ndk-gdb調試的時候。運行$NDK/ndk-gdb --verbose報錯“Another debug session running,Use --force to kil
指定的 DSN 中,驅動程序和應用程序之間的體系結構不匹配
bsp 密碼 import wow win 技術分享 img syswow64 導入 在做通過 PL/SQL 導入Excel 數據的時候,在進行數據庫連接的時候,選擇DSN為Excel ,輸入用戶名和密碼,進行Connect 出現錯誤“指定的 DSN 中,驅動程序和應用
Java Thread中,run方法和start方法的區別
bsp 區別 繼續 時間片 ron thread類 等待 nbsp art 兩種方法的區別: 1.start方法 用 start方法來啟動線程,是真正實現了多線程, 通過調用Thread類的start()方法來啟動一個線程,這時此線程處於就緒
Ubuntu中root用戶和user用戶的相互切換
缺省 命令行 div bsp ubuntu col 令行 ubun 16px Ubuntu中root用戶和user用戶的相互切換 Ubuntu是最近很流行的一款Linux系統,因為Ubuntu默認是不啟動root用戶,現在介紹如何進入root的方法。 (1)從user
c++ ‘nullptr’ 在此作用域中尚未聲明
c++11 blog 選項 XML 作用 log -s ptr 作用域 編譯加上如下選項:-std=c++11 g++ 1.cpp -o k -std=c++11c++ ‘nullptr’ 在此作用域中尚未聲明
LINUX中的用戶和組
mage 密碼 包括 加載 很多 root c11 inux .com 目錄 一,用戶和組 二,Linux用戶和組的主要配置文件 三,關於用戶維護的一些常見命令 四,組帳號維護命令 用戶和組 在linux中當UID(用戶編號)為0的是root用戶,因為系統也需要一些進
Confluence 6 選項 2 – 轉移 Crowd/Jira 應用程序中的用戶和用戶組到 Co
Confluence當你打算合並的外部目錄服務器(Crowd 或 Jira 應用)有大量的用戶到 Confluence 數據庫中的時候,請使用這個選項。你需要有基本的 SQL 知識才能完成這個任務。下面的 SQL 命令假設你使用的數據庫為 MySQL 數據庫。如果你使用的數據庫不是 MySQL 數據庫的話,你
C語言中,當計算字符數組長度時,用sizeof 和strlen 的原理及兩者的區別
指針 data- 編譯器 tracking 行處理 ews csdn 編譯 分配 字符數組的長度計算:必須以終止符’\0‘作為邊界,但對字符數組賦值時,有兩種方式: 1:定義時用字符初始化 (1)char chs[7] = {‘a‘, ‘c‘, ‘0‘, ‘z‘, ‘3