开始学习JavaScript,所以我决定制作一个程序,该程序会接收一个字符串,然后返回相同的字符串,但每个字符的颜色都不相同。Javascript函数未定义
不知道为什么当我编译时,当我打电话给我的彩虹功能时,函数没有定义。 此外,试图打印出字符串,但我不知道如果我正确地做。任何合乎逻辑和风格的建议和编辑非常感谢!
<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>
你应该做的'clr'值的字符串。 –
@ DanielA.White我不知道该怎么做。你的意思是像'#33FFFF'? – Liondancer
你也犯了一个错字:'mystring.lenth'应该是'mystring.length'。 – mc10