[英]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.