0
var obj = {
'obj1': {
'key': {
'token': 'abcd',
'test':' test: '+token
'search': function(s){return this.test}
}
}
};
alert(obj['obj1']['search'].apply(this,['some text']));
在函數內部,關鍵字this
引用的是函數而不是對象。好吧,就像Felix指出的那樣。 如何在函數內部提供對屬於同一對象的屬性的訪問? 我可以使用閉包,但每次都需要引用鍵,有沒有更簡潔的方法來做到這一點?js作爲對象值接收同一對象的上下文
*「裏面一個功能,'this'關鍵字指的功能,而不是目標。」 *這是不正確。 'this'不是指函數,除非你明確地**這樣做(這是非常罕見的,看起來像'func.call(func)')。 'this'的值由**如何調用**來決定。既然你沒有說明你是怎麼稱呼它的,我們無法真正幫助你。 – 2014-09-30 15:48:10
我正在使用函數的apply方法。 – aelgoa 2014-09-30 15:58:32
爲什麼你不能'obj.obj1.search('一些文本')'?你會有一個需要「應用」的變化參數列表嗎? – apsillers 2014-09-30 16:01:09