2011-12-17 103 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(); 
相關問題