我是新来的html和java脚本。对于我的代码,我一直得到我的功能没有定义,我不知道为什么。我尝试将脚本移动到head标签并在通话之后。我尝试改变函数的名字,以确保它没有被使用。我想我缺少一些小而愚蠢的东西。任何帮助将不胜感激Javascript - 未定义的函数错误
<html>
<script type= "text/javascript" >
var d = new Array(0,0,0,0,0);
function aaa()
{ alert("hello");
for (var i = 0; i<5; i++){
var da = Math.floor(Math.random()*6) +1;
var di document.getElementById("d" + i);
di.src = "pix/dice" + d + ".gif";
}
}
function newGame(){
}
function click1() {
var total = 0;
for (var i = 0; i <5; i++){
if (d[i] == 1) total +=1;}
var loco = document.getElementById("s1");
loco.innerHTML = total;
}
</script>
<h1>Yahtzee</h1>
<div style = "text-align:center;">
<img src = "pix/dice0.gif" id = "d0">
<img src = "pix/dice0.gif" id = "d1">
<img src = "pix/dice0.gif" id = "d2">
<img src = "pix/dice0.gif" id = "d3">
<img src = "pix/dice0.gif" id = "d4">
</div>
<table border =2 align =center>
<tr>
<td class = "c1"> 1's </td>
<td class = "c2"><div class = "scr" id = "s1" onclick= "click1()" > </div> </td>
<td class = "c3" rowspan = "6"><button id = "roll;" onclick = "aaa()";>Roll</button> </td>
</tr>
<tr>
<td class = "c1"> 2's </td>
<td class = "c2"><div class = "scr" id = "s2"> </div></td>
</tr>
<tr>
<td class = "c1"> 3's </td>
<td class = "c2"><div class = "scr" id = "s3"> </div></td>
</tr>
<tr>
<td class = "c1"> 4's </td>
<td class = "c2"><div class = "scr" id = "s4"> </div></td>
</tr>
<tr>
<td class = "c1"> 5's </td>
<td class = "c2"><div class = "scr" id = "s5"> </div></td>
</tr>
<tr>
<td class = "c1"> 6's </td>
<td class = "c2"><div class = "scr" id = "s6"> </div></td>
</tr>
<tr>
<td class = "c1"> 3 of a kind </td>
<td class = "c2"><div class = "scr" id = "k3"> </div></td>
<td class = "c3" rowspan = "8"><button id = "ng" onclick="newGame()"; >New Game </button> </td>
</tr>
<tr>
<td class = "c1"> 4 of a kind </td>
<td class = "c2"><div class = "scr" id = "k4"> </div></td>
</tr>
<tr>
<td class = "c1"> Full House </td>
<td class = "c2"><div class = "scr" id = "fh"> </div></td>
</tr>
<tr>
<td class = "c1"> Sm Straight </td>
<td class = "c2"><div class = "scr" id = "ss"> </div></td>
</tr>
<tr>
<td class = "c1"> Lg Straight </td>
<td class = "c2"><div class = "scr" id = "ls"> </div></td>
</tr>
<tr>
<td class = "c1"> Yahtzee </td>
<td class = "c2"><div class = "scr" id = "yah"> </div></td>
</tr>
<tr>
<td class = "c1"> Chance </td>
<td class = "c2"><div class = "scr" id = "cha"> </div></td>
</tr>
<tr>
<td class = "c1"> Total</td>
<td class = "c2"><div class = "scr" id = "tot"> </div></td>
</tr>
</table>
</body>
di
后添加=
看起来你有语法ê你的'aaa'函数中的错误:var di = document.getElementById(“d”+ i)'。它缺少一个等号。 – Nick而我更喜欢数组文字'[0,0,0,0]'而不是构造函数。 –
学习(然后编码)JavaScript的最重要的部分之一是使用浏览器控制台。 ('console.log'和'console.error')在整个代码中,这些行将帮助您进行调试。即使你不使用这些,浏览器在遇到问题时仍会抛出错误和警告,以及(通常不是)发生错误的确切行号。您可以通过大多数现代浏览器中的开发人员工具打开控制台(通常键盘快捷键是“Ctrl + Shift + i”)。学习爱上控制台,欢迎来到SO。 – Dellirium