2011-12-17 100 views
0

我有一些JavaScript代码:为什么不能调用函数原型中定义的函数?

wzq.CategoryTree = function(config) { 
}; 
wzq.CategoryTree.prototype.hello = function() { 
    alert("Hello"); 
}; 

var categoryTree = new wzq.CategoryTree({}); 
categoryTree.hello(); 

我觉得应该提醒的“Hello”的消息框,但什么都没有发生。哪里错了?


UPDATE

对不起,伙计们,我错过了一些从工作代码重要的是,CategoryTree应该是:

wzq.CategoryTree = function(config) { 
    return new Ext.tree.TreePanel(); 
}; 

所以:

var categoryTree = new wzq.CategoryTree({}); 

它实际上一个Ext.tree.TreePanel不是CategoryTree,这就是为什么没有找到hello

+0

假设wzq对象较早创建的,像你期望它做的代码将起作用。 – PM5544 2011-12-17 15:01:38

+0

请发布一个完整的问题示例。 – RightSaidFred 2011-12-17 15:07:03

+0

@RightSaidFred,你是对的,这个例子错过了从工作中导入的东西。我现在更新了它。 – Freewind 2011-12-18 02:11:56

回答

5

是否定义了wzq?运行您的代码将产生一个Uncaught ReferenceError: wzq is not defined

这工作:(jsfiddle

wzq = {}; 

wzq.CategoryTree = function(config) { 
}; 
wzq.CategoryTree.prototype.hello = function() { 
    alert("Hello"); 
}; 

var categoryTree = new wzq.CategoryTree({}); 
categoryTree.hello(); 
相关问题