0

関数を起動すると、未定義であるというエラーがスローされるのはなぜですか? すべてのスクリプトを含む外部 js ファイルと、onchange 関数を起動する html div があります。

ページの上部に JS ファイルを含めました。呼び出している関数は、JS ファイルの最初の関数です。なぜ未定義として返されるのでしょうか? 私の他の機能は正常に動作しているようです。

私の関数はすべて、1つの内部の外部JSファイルにあります

$(document).ready(function(){ 

});

JSはプリコンパイルされていて、関数の宣言順などは関係ないと思っていました。

例:JS:

function makeIcon3D() {
   var icon3DStroke1 = getStrokefor3DIcon1();

       function getAlert() {
         alert('hi');
      }

 });

HTML:

<input type=text onchange=makeIcon3D();>
4

5 に答える 5

0

Javascript はプリコンパイルされておらず、JIT (ジャスト イン タイム コンパイル) と見なされます。

JavaScript 関数にシマンティック エラーが含まれており、コンパイルされず、参照できない可能性があります。

また、他の回答で説明されているように、関数が範囲外になる可能性があります。

于 2013-07-30T15:37:01.327 に答える