JS 新手。我正在尝试使用 Javascript 随机更改正文的背景颜色,但无法弄清楚为什么我的代码不起作用:
var colors = ["#e88f84", "#e8bb84", "#d2e884"];
function randomize() {
var randomHex = colors[Math.floor(Math.random * colors.length)];
document.body.style.backgroundColor = randomHex;
}
<body>
<div id="text">
<script>randomize()</script>
</div>
</body>
最佳答案
Math.random
是一个方法,你需要调用它来获得一个随机数。由于 Math.random
返回函数引用,表达式 Math.random * colors.length
返回 NaN
。并且 Math.floor(NaN)
也返回 NaN
。
var randomHex = colors[Math.floor(Math.random() * colors.length)];
^^
var colors = ["#e88f84", "#e8bb84", "#d2e884"];
function randomize() {
var randomHex = colors[Math.floor(Math.random() * colors.length)];
document.body.style.backgroundColor = randomHex;
}
randomize();
<body>
<div id="text">
Some text
</div>
</body>
要改进代码,您可以使用 IIFE,它会自动调用并将变量保留在本地。
(function() {
'use strict';
var colors = ["#e88f84", "#e8bb84", "#d2e884"];
var randomHex = colors[Math.floor(Math.random() * colors.length)];
document.body.style.backgroundColor = randomHex;
}());
(function() {
'use strict';
var colors = ["#e88f84", "#e8bb84", "#d2e884"]
var randomHex = colors[Math.floor(Math.random() * colors.length)];
document.body.style.backgroundColor = randomHex;
}());
关于javascript - 使用 Javascript 更改正文的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41372783/