-4
我從某個地方讀到,絕對不可能獲得對作用域的引用。是否有任何黑客獲得對範圍的引用,並將其「陷」到變量中?黑客獲取範圍的參考?
編輯:
我知道我可以通過window
對象獲得全局範圍。我指的是動態創建函數的範圍,所以第四。
我從某個地方讀到,絕對不可能獲得對作用域的引用。是否有任何黑客獲得對範圍的引用,並將其「陷」到變量中?黑客獲取範圍的參考?
編輯:
我知道我可以通過window
對象獲得全局範圍。我指的是動態創建函數的範圍,所以第四。
引用windows對象/全局範圍內變量可以是這樣的。在這裏,我假設你是在全球範圍內
var reftowindows = this;
我指的是動態創建的功能範圍等 第四。在全局範圍
function returnRefrence(){ var refvar = this; return this; }
定義調用函數返回變量保持refrence到
window
作爲範圍console.log(returnRefrence()); // console logs "window" object
調用與呼叫功能()並綁定到對象
功能的改變的範圍和作爲範圍返回變量保持參考obj
obj = {};
console.log(returnRefrence.call(obj)); // console logs "obj" object
'this' won' t是嚴格模式下的全局對象。 – Oriol
太模糊了沒有例子的問題。範圍/關閉不是一個簡單的概念 – charlietfl
除了JavaScript引擎的原生擴展之外,沒有。目前沒有主要引擎提供[詞彙環境](http://www.ecma-international.org/ecma-262/5.1/#sec-10.2)或[環境記錄](http:// www。 ecma-international.org/ecma-262/5.1/#sec-10.2.1)轉換爲JavaScript代碼。 –
相關:[參考一個函數本地範圍作爲對象](http://stackoverflow.com/questions/2600361/javascript-reference-a-functions-local-scope-as-an-object) –