我在使用 oo javascript 时遇到了一些麻烦。我正在创建一个新的对象公共和私有方法。现在当我调用公共方法时,它无法访问私有变量。
我相信我应该return
使用公共方法(互联网),但真的不知道为什么。
有人可以解释我错过了什么吗?
function something(){
var somePanel; // it is a jquery object to a div
var createWindow = function(data){
random.xhr('/chat', 'GET', null, function(res){
var Container = $("#Container");
somePanel = $("<div/>").addClass('somePanel').append(res);
Container.append(somePanel.hide());
});
};
this.activate = function(){
somePanel.show().siblings().hide();
};
this.init = function(data, fn){
createWindow(data);
};
};
connections[data] = new something(); // creates a new something object
connections[data].init(data); // which creates just a div object, actually
connections[data].activate(); // has code to show this panel and hide every other panel
当我调用该activate()
方法时,它找不到somePanel
. 我应该做些什么不同的事情?为什么?