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