2

"drawEverything()" という関数を onload で実行するように設定しましたが、関数が実行されず、Firebug で "drawEverything が定義されていません" というバグが発生しました?? 事は、私はそれを定義しました!

問題をグーグルで検索しましたが、ほとんどの場合、何らかの構文エラーが原因でしたが、全体を調べたところ、構文エラーは見つかりませんでした。

私のコードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<script type="text/javascript">

var new_x = 110;
var new_y = 150;
function drawEverything(){
    var temp_x = new_x;
    var temp_y = new_y;

    var c = document.getElementById("myCanvas");
    var ctx = c.getContext("2d");
    for (int i = 0; i < 5; i++){
        ctx.beginPath();
        ctx.arc(temp_x,temp_y,20,0,2*Math.PI);

        ctx.stroke();
        if ((i < 3) || (i == 4)){
            temp_x += 40;
        }
        else if (i == 3){
            temp_y += 20;
            temp_x -= 60;
        }
    }
}
</script>

<body onload = "drawEverything()">
<h1>Interactive Olympic Rings</h1>
<div id="container">
<canvas id="myCanvas" width="300" height="300"></canvas>
</div>

</body>
</html>

どんな助けでも大歓迎です、ありがとう!

4

2 に答える 2

5

エラーを順番に処理します。後のエラーは、前のエラーの結果である可能性があります。

最初のエラー (firebug で報告):

SyntaxError: missing ; after for-loop initializer
[Break On This Error]   

for (int i = 0; i < 5; i++){

2 番目のエラー:

ReferenceError: drawEverything is not defined

関数定義にはコンパイル時エラーがあるため、実行時に定義されていません。

あなたはしたくvarないint

于 2012-12-09T11:56:20.360 に答える
0

ここでは int を使用できません。JavaScript で var を使用する

于 2012-12-09T12:30:12.277 に答える