2016-03-31 8 views
-3

this JavaScript codeを見てください。私のWebページを実行している場合、それは言う:オブジェクト - 定義する前にオブジェクトを呼び出す

TypeError: Dictionary is not a Constructor.

をしかし、私はコピーして、Firefoxのコンソールで同じことを貼り付けるとき、それは完璧に動作します。何が問題なの?

+1

ここに関連コードを含めてください... Firefoxのコンソールにバグがある可能性があります。Firefoxのコンソールでは動作しません。あなたがそこに持っているのと全く同じようにそれを入れていない)。たとえば、Chromeコンソールでは動作しません - 同じエラーです。 –

+0

各オブジェクトを別々に試してみてください。 –

+1

[JavaScript関数を呼び出す前にJavascript関数を定義する必要がありますか?](http://stackoverflow.com/questions/9973461/does-a-javascript-function-have-to-be-defined-before-calling -it) –

答えて

1
var dict = new Dictionary() 

このコードの部分は、辞書の定義の後に配置する必要があります。それ以外の場合は明らかに失敗します。あなたのコードでは、まだ存在しないクラスをインスタンス化しようとしているのに対して、オブジェクトが定義された後にコンソールが実行されるため、コンソールで動作します。

+0

ありがとう、それは働いた。ところで、参照を含めると良いでしょう。 –

2

吊り上げですか?あなたnew、変数Dictionaryundefinedとき

var dict = new Dictionary(); 
var Dictionary = function() { ... }; 

は、だから

var Dictionary; 
var dict = new Dictionary(); 
Dictionary = function() { ... }; 

のようなものです。

関連する問題