如何正确更换输出?

问题描述 投票:0回答:1

我最近做了一个骰子游戏。我向别人请教如何建立一个功能按钮,并且能够制作出来。现在我想让它的每个结果都能替换之前的输出,这样我就可以反复掷骰子,但每次只能在页面上掷一个骰子(所以不是一个掷骰子的列表)。

请告诉我,我下面的代码做错了什么,因为我查了一下.replace,在我看来它应该可以工作。

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My own personal Dice Roll</title>
    <script src="dice.js"></script>
</head>
<body>

        <button onclick="diceRoll();" id="roll">Throw Dice</button>
        <h2>Dice Game:</h2>
        <div id= "output"></div>
</body> 
</html>

JS

function diceRoll() {
    const value = [ 1, 2, 3, 4, 5, 6 ];
    let random = Math.floor(Math.random() * value.length + 1);
    let roll = `You rolled: ${random}`;
    output(roll);
}

function output(message) {
    document.getElementById('output').innerHTML += roll.replace(message + '<br/><br/>');
}
replace dice
1个回答
1
投票

改变

document.getElementById('output').innerHTML += roll.replace(message + '<br/><br/>');

document.getElementById('output').innerHTML = message;

你不能参考 roll 从内 output 功能。它不存在于那里。它存在于 diceRoll 函数,并将其值传递给 output 作为 message所以你把这个值称为 messageoutput 功能。

x += yx = x + y意思是你要加 yx. 如果你想覆盖这个值,你只需使用 =.

取代法 是不同的。要使用替换方法,你需要三样东西。你需要一个你感兴趣的字符串。然后你需要另一个你想在第一个字符串中搜索的字符串。然后,如果你在第一个字符串中找到了第二个字符串,你需要第三个字符串来替换它。它的工作原理是这样的。

var interestingString = "i hate js";
var searchString = "hate";
var replaceString = "love";

console.log( interestingString.replace(searchString, replaceString) );

你可以用这种方法来完成你想做的事 但这样做就太夸张了。会是这样的。

document.getElementById('output').innerHTML = document.getElementById('output').innerHTML.replace(document.getElementById('output').innerHTML, message);
© www.soinside.com 2019 - 2024. All rights reserved.