如何将 userInput 转换为数字并使用该数字通过 javascript 创建所需的结果?

How convert userInput to a number and use that number to create a desired outcome with javascript?

我是 javascript 的新手,我正在尝试打印带有“#”符号的棋盘。我想问用户 "How wide do you want your chessboard to be?" 当用户输入他们想要的数字时,我想将这个字符串转换为数字,以便我可以用它来创建板。例如,如果用户输入 = 8,控制台将打印如下模式 (8x8):

# # # # # # # #
 # # # # # # # 
# # # # # # # #
 # # # # # # # 
# # # # # # # #
 # # # # # # # 
# # # # # # # #
 # # # # # # # 

这是我目前拥有的:

var userInput = prompt("How wide do you want your chessboard to be?")

var userInput = Number(userInput)

var string1 = Array(userInput).join(" #")
var string2 = Array(userInput).join("# ")
var newline = "\n"
var counter = 0.5

var chessboard = function () {
    console.log(string1 + newline + string2);
};

while (counter <= userInput/2) {
    console.log(chessboard);
    counter++
};

问题在于您如何调用 chessboard,您将函数引用传递给 console.log(),因此它将记录该函数。

由于您的 chessboard 方法打印字符串,只需像

一样调用 chessboard 方法
while (counter <= userInput/2) {
    chessboard();
    counter++
};

但是这里有一个逻辑问题,如果用户输入7会发生什么,所以

var elboard = document.getElementById('board');

var userInput = prompt("How wide do you want your chessboard to be?");

var userInput = Number(userInput);

var string1 = Array(userInput + 1).join(" #")
var string2 = Array(userInput + 1).join("# ")
var newline = "\n"

var chessboard = function(i) {
  var string = i % 2 == 0 ? string1 : string2;
  console.log(string)
  elboard.appendChild(document.createTextNode(string + '\n'));
};

for (var i = 0; i < userInput; i++) {
  chessboard(i);
};
#board {
  white-space: pre;
}
<div id="board"></div>