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

按顺序处理您的错误。后来的错误可能是早期错误的结果。

第一个错误(由萤火虫报告):

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

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

第二个错误:

ReferenceError: drawEverything is not defined

由于函数定义中有编译时错误,因此在运行时未定义。

var不想int

于 2012-12-09T11:56:20.360 回答
0

你不能在这里使用 int 。在 JavaScript 中使用 var

于 2012-12-09T12:30:12.277 回答