2011-12-17 26 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({}); 

は、それは実際にありますa Ext.tree.TreePanel not CategoryTreeだから、helloは見つかりませんでした。

+0

をwzqオブジェクトが以前に作成されたと仮定すると、あなたがそれを行うことを期待するように、コードが機能します。 – PM5544

+0

問題の完全な実例を投稿してください。 – RightSaidFred

+0

@ RightSaidFred、そうです、この例では、作業中のものから何かインポートがありませんでした。私は今それを更新しました。 – Freewind

答えて

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(); 
関連する問題