Javascript函数未定义
开始学习JavaScript,所以我决定制作一个程序,接收一个字符串,然后返回相同的字符串,但每个字符上有不同的颜色 不知道为什么在编译时,当我调用彩虹函数时,函数没有定义。 另外,我正在尝试打印字符串,但我不确定是否正确。任何符合逻辑和风格的建议和编辑都将不胜感激Javascript函数未定义,javascript,html,Javascript,Html,开始学习JavaScript,所以我决定制作一个程序,接收一个字符串,然后返回相同的字符串,但每个字符上有不同的颜色 不知道为什么在编译时,当我调用彩虹函数时,函数没有定义。 另外,我正在尝试打印字符串,但我不确定是否正确。任何符合逻辑和风格的建议和编辑都将不胜感激 <script> function Rainbow(x) { var mystring = String(x);
<script>
function Rainbow(x) {
var mystring = String(x); @* convert to string*@
var Stringlength = mystring.lenth; @* length fo string *@
var rainbowstring = new Array(Stringlength); @* create array of appropriate size*@
var counter = 0;
var clr, letter;
while (counter < Stringlength) {
letter = mystring.charAt(counter);
var randomnumber = Math.floor(Math.random() * 10); @* random number generator --> 11 means 0-10 *@
switch (randomnumber) {
case 0: clr = #FF0000; break;
case 1: clr = #00FF00; break;
case 2: clr = #0000FF; break;
case 3: clr = #FF00FF; break;
case 4: clr = #000000; break;
case 5: clr = #00FFFF; break;
case 6: clr = #33FFFF; break;
case 7: clr = #33FF00; break;
case 8: clr = #FFFF00; break;
case 9: clr = #FF66CC; break;
}
rainbowstring[counter] = <span style = 'color:"+clr+"'>"+letter+"</span>; @* assign color *@
counter++; @* increment *@
}
return rainbowstring;
}
@* need something that generates colors *@
@* assigns colors to text *@
</script>
<form>
Enter String: <input type ="text" name ="rainbowstring" id ="rainbowinput"/><br>
</form>
<button
type = "button" onclick = "Rainbow(document.getElementById('rainbowinput').value)" > Rainbow Generator
</button>
你管它叫什么?在我看来,它不应该给你未定义的 你做错了
rainbowstring[counter] = <span style = 'color:"+clr+"'>"+letter+"</span>;
我也不确定你是否能用连线长度来考虑用SrProf之类的代替它< /P> < P>你把它叫做哪里?在我看来,它不应该给你未定义的 你做错了
rainbowstring[counter] = <span style = 'color:"+clr+"'>"+letter+"</span>;
<>我也不确定你是否能用字长来考虑用String之类的替换它< /P> < P>所有的颜色都应该是一个字符串。< /P>
switch (randomnumber) {
case 0: clr = '#FF0000'; break;
case 1: clr = '#00FF00'; break;
case 2: clr = '#0000FF'; break;
case 3: clr = '#FF00FF'; break;
case 4: clr = '#000000'; break;
case 5: clr = '#00FFFF'; break;
case 6: clr = '#33FFFF'; break;
case 7: clr = '#33FF00'; break;
case 8: clr = '#FFFF00'; break;
case 9: clr = '#FF66CC'; break;
}
所有颜色都应该是字符串
switch (randomnumber) {
case 0: clr = '#FF0000'; break;
case 1: clr = '#00FF00'; break;
case 2: clr = '#0000FF'; break;
case 3: clr = '#FF00FF'; break;
case 4: clr = '#000000'; break;
case 5: clr = '#00FFFF'; break;
case 6: clr = '#33FFFF'; break;
case 7: clr = '#33FF00'; break;
case 8: clr = '#FFFF00'; break;
case 9: clr = '#FF66CC'; break;
}
用一点jQuery jQuery HTML
用一点jQuery jQuery HTML
您应该将clr值设置为字符串。@DanielA.White我不知道该怎么做。你是说类似“33FFFF”的东西吗?你还输入了一个错误:mystring.lenth应该是mystring.length。@user814064,这完全没有必要;函数语句在这里可以正常工作。您应该将clr值设置为字符串。@DanielA.White我不知道该怎么做。你是说类似“33FFFF”的东西吗?你还输入了一个错误:mystring.lenth应该是mystring.length。@user814064,这完全没有必要;函数语句在这里工作正常。@Liondancer请包含该代码,可能是因为脚本标记不在正文的末尾element@Liondancer将脚本放在按钮下我不认为将脚本放在函数下会有帮助。首先定义函数,然后再调用它。你需要relax@Liondancer好的,别听我说,我只是想试试。@Liondancer请把代码包括进去,可能是因为你的脚本标签不在你身体的末端element@Liondancer将脚本放在按钮下我不认为将脚本放在函数下会有帮助。首先定义函数,然后再调用它。你需要relax@Liondancer好吧,别听我说,我只是想试试。
switch (randomnumber) {
case 0: clr = '#FF0000'; break;
case 1: clr = '#00FF00'; break;
case 2: clr = '#0000FF'; break;
case 3: clr = '#FF00FF'; break;
case 4: clr = '#000000'; break;
case 5: clr = '#00FFFF'; break;
case 6: clr = '#33FFFF'; break;
case 7: clr = '#33FF00'; break;
case 8: clr = '#FFFF00'; break;
case 9: clr = '#FF66CC'; break;
}
var rbow, ltrColor;
var colors = new Array('00','33','66','99','CC','FF');
$('#rainbower').click(function() {
var blah = $('#rainbowinput').val();
var lenBlah = blah.length;
rbow = "";
for (c = 0; c < lenBlah; c++) {
l = blah.charAt(c);
ltrColor = "#";
for (rgb = 0; rgb < 3; rgb++) {
rndColor = (Math.floor(Math.random() * 6));
ltrColor += colors[rndColor];
}
rbow += "<span style='color:" + ltrColor + "'>" + l + "</span>";
}
$('#rainbowoutput').html(rbow);
});
<form>
Enter String:
<input type="text" name="rainbowstring" id="rainbowinput" />
<br />
</form>
<button type="button" id="rainbower">Rainbow Generator</button>
<div id="rainbowoutput"></div>