gpt4 book ai didi

javascript - javascript中调用另一个类函数中的类函数

转载 作者:行者123 更新时间:2023-12-02 18:23:51 24 4
gpt4 key购买 nike

我想在刷新函数中调用 posts() 。这是我的代码。

var TIMELINE = TIMELINE || (function (){

/*** private ***/
var _args = {};
var self = this;

return {

init : function(Args){
_args = Args;
}, // init
posts : function(data) {

alert('posts called');

}, // posts
unsetMarkers : function() {

alert('unsetMarkers called');

}, // unsetMarkers
refresh : function(){
self.posts;
}

};


}());

问题出在这一行 self.posts;我也尝试过self.posts({'data':'success','another':'thing'});如何在刷新中使用帖子?

最佳答案

您的代码中有两个问题:

  • self 不引用具有属性 posts 的对象,即不引用从函数返回的对象。您有 var self = this;this 引用 window(假设非严格模式)。
  • 您甚至没有尝试调用该函数。

不要立即返回对象,而是将其分配给 self:

// instead of `var self = this;`
var self = {
// function definitions
};

return self;

然后你可以调用该方法

self.posts(); // note the parenthesis after the function name

如果您确定refresh函数总是被称为TIMELINE.refresh()(即作为 >TIMELINE 对象) ,那么您还可以使用

调用 posts 方法
this.posts();

忘记 self

<小时/>

进一步阅读 Material :

关于javascript - javascript中调用另一个类函数中的类函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com