2011-07-20 4 views
5

ちょっと私はプロトタイプにはかなり新しいです。 問題は、dom:loadedコールバック関数内のjavascriptエラーがfirefox(webconsole/errorconsole/firebug)に表示されないことです。
サンプル1:
プロトタイプはJavaScriptのエラー(Firefox)をスワロー

document.observe("dom:loaded", function() { 
syntax() error() 
}); 

サンプル2:今すぐ

document.observe("dom:loaded", function() { 
syntax(); error() 
}); 

面白いこと:
私はサンプル1を実行すると、私はjavascriptのエラーが出る "欠落を、文の前に" - ofcourseのがあるべきですerror()の前にセミコロンがあるため、このタイプのエラーはうまくいくようです。 Sample2を実行した場合、エラーは発生しませんが(実際は構文エラーではありません)、私は得られない "未定義の変数"エラーを取得する必要があります。
ここで何が起こっているのか?
IEは何が起こっているかところで

+0

Javascriptファイルの先頭にuse strict ";"を入れてみてください。 – Jez

+1

+1です。 – Triptych

+1

あなたの答えをありがとうが、何も変わらない – Daniel

答えて

0

エラーを出力したサンプル2にセミコロンが、それはwindow.syntax; window.error

document.observe('dom:loaded', function() { 
    syntax = 10; error = 5; 
    alert(syntax + ' ' + error); 
}); 

と同じように見えますコンパイラに、二つの個別のグローバル変数として文字列syntax; error行為を添加したときということです上記の例を実行してみてください。問題をより明確に説明するのに役立ちます...

+1

私のサンプルはそれほど良いものではないかもしれませんが、構文()で試しても同じ結果が得られます。エラー();関数が定義されていないというエラーが表示されるはずです – Daniel

関連する問題