Javascript document.write-Where';我的内容是什么?
我用有限的HTML/JavaScript知识创建了一个简单的石头剪纸游戏。我创建了两个按钮:一个用于运行游戏,另一个用于重置游戏 单击“游戏”按钮后,它将运行我的JavaScript函数,其中包括一个提示符()和一个随机选择。宣布获胜者。然而,我注意到我所有的HTMl都消失了Javascript document.write-Where';我的内容是什么?,javascript,function,button,Javascript,Function,Button,我用有限的HTML/JavaScript知识创建了一个简单的石头剪纸游戏。我创建了两个按钮:一个用于运行游戏,另一个用于重置游戏 单击“游戏”按钮后,它将运行我的JavaScript函数,其中包括一个提示符()和一个随机选择。宣布获胜者。然而,我注意到我所有的HTMl都消失了 为什么我的内容在哪里消失了 当用户玩游戏并在提示中输入信息时,如何使其保持不变 代码: 游戏:RPS JS测试输出 石头、布、剪刀:你vs电脑! 玩游戏 函数游戏(){ var a=提示(“石头、布或剪刀?”); var
游戏:RPS
JS测试输出
石头、布、剪刀:你vs电脑!
玩游戏
函数游戏(){
var a=提示(“石头、布或剪刀?”);
var b=[“石头”、“布”、“剪刀”];
var rand=b[数学地板(数学随机()*b.长度)];
如果(a==“岩石”和&rand==“纸张”){
文件。写(“电脑赢了!”);
}
否则,如果(a==“岩石”和&rand==“剪刀”){
记录。写下(“玩家1获胜!”);
}
否则,如果(a==“纸张”&&rand==“岩石”){
记录。写下(“玩家1获胜!”);
}
否则,如果(a==“纸”和&rand==“剪刀”){
文件。写(“电脑赢了!”);
}
否则,如果(a==“剪刀”和&rand==“石头”){
文件。写(“电脑赢了!”);
}
否则,如果(a==“剪刀”和&rand==“纸”){
记录。写下(“玩家1获胜!”);
}
else如果(a==rand){
记录。写下(“我们打成平局了!”);
}
否则{
写(“这不是一个选择!计算机赢了!”);
}
}
感谢您的阅读,非常感谢您的任何贡献。这是我的第一篇文章,我真的很有兴趣学习这一点,希望有一天能成为一名程序员(我计划从工作中休息,并可能进入一个训练营)。我真的很喜欢尝试/阅读/学习编程(不要认为我已经准备好学习计算机科学,比如算法、数据结构,或者我应该现在就开始学习??)
Jon替换HTML的原因是一个邪恶的JavaScript函数: 这绝对是“糟糕的形式”。只有在页面加载时使用它,它才适用于网页;如果您在运行时使用它,它将用输入替换整个文档。如果您将其作为严格的XHTML结构应用,那么它甚至不是有效的代码 问题是: 写入文档流。调用已关闭(或已加载)的文档会自动调用,这将清除该文档 -- 他有两个心腹,还有。加载HTML文档时,文档处于“打开”状态文档加载完成后,文档已“关闭”。此时使用将删除整个(关闭的)HTML文档,并将其替换为新的(打开的)文档。这意味着您的网页已自行删除,并开始从头开始编写新页面 我相信这也会导致浏览器性能下降(如果我错了,请纠正我) 例如: 此示例在加载页面后将输出写入HTML文档。当您按下“清除”按钮时,Watch的邪恶力量会清除整个文档:
我是一个普通的HTML页面。我是无辜的,纯粹是为了提供信息。请不要伤害我
您需要向我们发布您的代码。打印得很好。请使用document.write(),如果没有根据以下线程调用document.load(),它将清除页面:@Octopus谁使用document.write for JSONP?事实并非如此。如果您使用document.write执行JSONP,您将遇到更大的问题。JSONP使用附加在页面上的脚本标记。哈哈,谢谢你的解释。我不确定在屏幕上打印东西的最佳方式是什么。有document.write return console.log和更多?Return打印一个值,console.log只打印到控制台,这与浏览器不同,对吗?这些可能是基本问题的基础,hencey选择名字标签lol。
<!DOCTYPE html>
<html>
<title>Game: RPS</title>
<body>
<h1>JS Test Output</title>
<h3>Rock, Paper, Scissors: You vs Computer!</h3>
<button onclick="game()">Play Game</button>
<input type="button" value="Reload Page" onClick="window.location.reload()">
<script>
function game(){
var a = prompt("Rock, Paper, or Scissors?");
var b = ["Rock","Paper","Scissors"];
var rand = b[Math.floor(Math.random() * b.length)];
if (a== "Rock" && rand=="Paper") {
document.write("Computer Wins!");
}
else if (a=="Rock" && rand=="Scissors") {
document.write("Player 1 wins!");
}
else if (a=="Paper" && rand=="Rock") {
document.write("Player 1 wins!");
}
else if (a=="Paper" && rand=="Scissors") {
document.write("Computer wins!");
}
else if (a=="Scissors" && rand=="Rock") {
document.write("Computer wins!");
}
else if (a=="Scissors" && rand=="Paper") {
document.write("Player 1 wins!");
}
else if (a == rand) {
document.write("We have a tie!");
}
else {
document.write("That's not a choice! Computer wins!");
}
}
</script>
</body>
</html>