簡體   English   中英

訪問所有本地變量

[英]Access all local variables

javascript中的每個全局變量都是'window'的屬性

顯然所有局部變量(以及參數)都存儲為“調用對象”的屬性(參見每個函數的第4.6.2章。可能只在所述函數的生命周期內存在。)

基本上我希望能夠做到

for (var obj in CallObject ) { // }

我可以訪問包含局部變量的所述對象,如果是,如何? 或者,有任何其他方法來訪問函數的所有局部變量。

[編輯]

事實證明,參數是函數的激活對象的屬性。 這必須存儲在某個地方。

“激活對象純粹是一種規范機制.ECMAScript程序不可能訪問激活對象。”

結果證明ECMAScript狀態我不允許訪問它。

如何訪問參數屬性並以某種方式鏈接到局部變量?

不可以。在JavaScript的任何瀏覽器實現中都無法做到這一點。

從理論上講,實現可以提供一個擴展,允許代碼檢查當前的Variable對象(也就是函數中的Activation對象;“Call object”是由Flanagan組成的術語,在ECMAScript規范中沒有提到)但是沒有實現,我知道這樣做。

你會在每個函數中得到一個名為“arguments”的隱式數組,但除此之外沒有這樣的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM