2014-05-03 58 views

回答

0

可能。如果foo被稱爲obj.foo(),則可以使用this.key。然而,obj應當而不是在該點是undefined;如果你以後改變它,不希望依靠this,你可以把它在不同的範圍:

var obj = (function() { 
    var obj = { 
     key: "some", 
     foo: function() { return obj.key; } 
    }; 

    return obj; 
})(); 
+0

編輯的問題。我輸入錯誤信息錯誤。 Sry基因。 – NSF

+0

@NSF:只有三種可能:a)'obj'不是你認爲的那樣; b)'obj.key'不是你想象的那樣; c)它實際上不叫'obj.key'。你能提供一個簡短的例子來重現問題嗎? – Ryan

+0

@ minitech-由於OP是全局代碼,因此不需要關閉。當然,OP可能真的希望它在一個函數上下文中工作,或者* foo *可能來自IIFE,但OP並沒有要求這樣做。然而。 ;-) – RobG

相關問題