async
function myFunction() {
var x = document.getElementById("demo");
var alhpabet = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"];
x.innerHTML = Math.floor((Math.random() * alhpabet.lengthS));
}
如何使用javascript生成一个字母?
答案 0 :(得分:1)
你可以试试这个:
function myFunction() {
var x = document.getElementById("demo");
var min = "A".charCodeAt(0);
var max = "Z".charCodeAt(0);
var c = String.fromCharCode(Math.floor(Math.random() * (max - min)) + min);
x.innerHTML = c;
}

<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
&#13;
答案 1 :(得分:1)
您应该使用ASCII。大写字母的范围是65-90。
function myFunction() {
var x = document.getElementById("demo");
var charCode = Math.floor(Math.random() * (90 - 65 + 1)) + 65;
x.innerHTML = String.fromCharCode(charCode);
}
答案 2 :(得分:1)
你快到了。
您的Math.floor函数获取随机索引,但不是字母。此外,您的阵列&#39;实际上并不是一个数组,你需要用引号括起来的每个字母,用逗号分隔。或者,您可以在字符串上调用split
但暂时忽略它。
获得索引后,您可以通过alphabet[index]
返回在该索引处找到的字母。
此外,我确定您看到了评论,但lengthS
应为length
。技术上alhpabet
应为alphabet
。
function myFunction() {
var x = document.getElementById("demo");
var alphabet = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
var index = Math.floor((Math.random() * alphabet.length));
x.innerHTML = alphabet[index];
}
&#13;
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
&#13;
答案 3 :(得分:0)
你差不多完成了。由于您已将alphabet
变量创建为数组,因此您应该只使用第一个alphabet[0]
:
function myFunction() {
var x = document.getElementById("demo"),
alphabet = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"],
random = Math.floor(Math.random() * alphabet[0].length);
x.innerHTML = alphabet[0][random];
}
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
答案 4 :(得分:0)
基本上你需要一个字符串而不是一个里面有字符串的数组。然后取length
比例乘以随机数。
对于结果,将随机值作为字符串的索引来获取单个字母。
function myFunction() {
var x = document.getElementById("demo"),
abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
x.innerHTML = abc[Math.floor((Math.random() * abc.length))];
}
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>