0
有沒有人知道一個更優雅的方式來訪問函數內父對象的父對象?在函數裏面獲取祖父上下文的內容
var obj = {
subobj : {
func1 : function() {
// here 'this' will refer to window
// i want to access obj instead
}
}
};
var obj = {
func1 : function() {
// i know 'this' here will refer to bj
}
}
我也嘗試
var obj = {
subobj : {
func1 : function() {
// even 'this' will refer to window
}.bind(this)
}
}
但即使在這種結合例如「這個」將是指窗口,因爲它是外部。
我可以做
var _this = obj;
內FUNC1但我請勿想用這個醜陋的伎倆。
我基本上想在func1裏面獲得obj上下文,或者在obobj上添加obj上下文。 我現在想不出任何東西,你們有什麼建議嗎?
感謝
您可以在函數func1中訪問'obj'。它已經被關閉。爲什麼你需要混淆上下文?簡單地使用'function(){console.log(obj);}' –
是的,我已經提到過直接obj訪問,但是如果我將obj改爲obj2,我將不得不檢查它在自身內部的使用並在那裏改變。 –
*「...但是如果我將obj改爲obj2將來,我將不得不檢查它在自身內部使用和改變的地方。」*這就是爲什麼你使用重構支持變量重命名的IDE! – DaoWen