如何在 JavaScript 中存取所有範圍內的變數?
儘管人們普遍認為目前沒有直接的方法來檢索所有變量JavaScript 中的範圍內變量,存在一種訪問函數內局部變量的受限方法。
要實現此目的,請轉換使用 f '' 將函數轉換為字串,這會產生函數的原始程式碼。在 Esprima 等解析器的幫助下,解析函數的程式碼並識別局部變數宣告。
具體來說,在結果中尋找類型欄位設定為「VariableDeclaration」的物件。例如,在函數 f:
中,使用 Esprima 解析函數的程式碼將傳回以下內容:
此方法僅提供對函數本身定義的變數的存取。例如,在以下函數中:
應用相同的方法只能存取 x 變量,而不是 y。要存取巢狀變量,可以使用呼叫者的循環,但必須事先知道變數名稱。
以上是如何檢索 JavaScript 函數中的所有本地作用域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!