Javascript 如何创建我的var(Math.random)的历史记录
我的代码有问题,我想在历史记录框上看到我传递的4个生成的数字(Math.random),但这些数字显示的是相同的。有没有办法延迟var 我已经试着将var整理好,但这不会造成延迟 我的html:Javascript 如何创建我的var(Math.random)的历史记录,javascript,html,Javascript,Html,我的代码有问题,我想在历史记录框上看到我传递的4个生成的数字(Math.random),但这些数字显示的是相同的。有没有办法延迟var 我已经试着将var整理好,但这不会造成延迟 我的html: <div class="text-position-history"> <div class="text-style-history"> <p id="historyT"></p> </
<div class="text-position-history">
<div class="text-style-history">
<p id="historyT"></p>
</div>
</div>
</body>
</html>
我的javascript:
var green = 0;
var red = 0;
function odds(){
var result = Math.random();
if (result < 0.5)
{
document.body.style.backgroundColor = "green";
green++;
document.getElementById('greenT').innerHTML = "Times you survived: " + " " + green;
}
else{
document.body.style.backgroundColor = "red";
red++;
document.getElementById('redT').innerHTML = "Times you died: " + " " + red;
}
document.getElementById('resultT').innerHTML = "Guessed number: " + " " + result;
var history1 = result;
var history2 = history1;
var history3 = history2;
document.getElementById('historyT').innerHTML = "Guessed number: " + " " + result + " " + history1 + " " + history2 + " " + history3;
}
var绿色=0;
var-red=0;
函数赔率(){
var result=Math.random();
如果(结果<0.5)
{
document.body.style.backgroundColor=“绿色”;
绿色++;
document.getElementById('greenT').innerHTML=“生存的次数:”+“”+green;
}
否则{
document.body.style.backgroundColor=“红色”;
红色++;
document.getElementById('redT').innerHTML=“死亡次数:”+“+red;
}
document.getElementById('resultT').innerHTML=“猜测的数字:”+”+结果;
var history1=结果;
var history2=history1;
var history3=history2;
document.getElementById('historyT').innerHTML=“猜测的数字:”+“”+result+“”+history1+“”+history2+“”+history3;
}
有办法做到这一点吗?为什么不创建一个数组,然后在调用
Math.random()
后将结果的新值附加到数组中
然后稍后打印出数组。我认为实际上更改历史变量的顺序应该可以解决这个问题。 换成
var history3 = history2;
var history2 = history1;
var history1 = result;
现在,您正在覆盖所有结果,因为:
var history1=结果
var history2=history1(history1现在已经在引用结果)为什么不使用数字数组呢
var_history=[];
函数到HTMLElement(historyNode)
{
var节点=document.createElement(“div”);
node.innerHTML=historyNode.text;
node.style.background=historyNode.win?'green':'red';
返回节点;
}
函数renderHistory()
{
var result=document.getElementById(“结果”);
result.innerHTML=“”;
_历史。forEach(函数(e){
结果:appendChild(toHTMLElement(e));
});
}
document.getElementById(“表单”).addEventListener(“提交”,函数(e){
e、 预防默认值();
_history.push((Math.random()>0.5)?{win:true,text:'You win'}:{win:false,text:'You lose'});
如果(_history.length>3)_history.shift();
renderHistory();
});代码>
var绿色=0;
var-red=0;
函数赔率(){
var result=Math.random();
如果(结果<0.5)
{
document.body.style.backgroundColor=“绿色”;
绿色++;
document.getElementById('greenT').innerHTML=“生存的次数:”+“”+green;
}
否则{
document.body.style.backgroundColor=“红色”;
红色++;
document.getElementById('redT').innerHTML=“死亡次数:”+“+red;
}
document.getElementById('resultT').innerHTML=“猜测的数字:”+”+结果;
var myList=[result,result,result];
var history1=myList.shift();
var history2=myList.shift();
var history3=myList.shift();
document.getElementById('historyT').innerHTML=“猜测的数字R:”+“+history1+”+history2+”+history3;
}
这仍然会产生相同的结果?您必须维护一个值数组<代码>变量历史1=结果代码>将只为itNope分配相同的值。那不能解决任何问题。这将分配未定义的
var history3 = history2;
var history2 = history1;
var history1 = result;
var green = 0;
var red = 0;
function odds(){
var result = Math.random();
if (result < 0.5)
{
document.body.style.backgroundColor = "green";
green++;
document.getElementById('greenT').innerHTML = "Times you survived: " + " " + green;
}
else{
document.body.style.backgroundColor = "red";
red++;
document.getElementById('redT').innerHTML = "Times you died: " + " " + red;
}
document.getElementById('resultT').innerHTML = "Guessed number: " + " " + result;
var myList = [result, result, result];
var history1 = myList.shift();
var history2 = myList.shift();
var history3 = myList.shift();
document.getElementById('historyT').innerHTML = "Guessed numbesr: " + " " + history1 + " " + history2 + " " + history3;
}