当我尝试运行
function thing(number) {
for (i = 1; i < number+1; i++){
document.write(i + ' ');
}
}
var otherthing = prompt("");
thing(otherthing);
当其循环document.write(i);
时,其循环次数是指定次数的10倍以上
我有点乱了,无法理解。我对JavaScript也很陌生,并且愿意接受其他任何提示或反馈
答案 0 :(得分:2)
告诉我这是否适合您。
function thing(aNumber) {
aNumber = Number(aNumber) + 1;
for (i = 1; i < aNumber; i++){
document.write(i + ' ');
}
}
var otherthing = prompt("");
thing(otherthing);
编辑:之所以无法使用该代码,是因为提示符下的输入被解释为字符串,而不是数字。因此Number(aNumber)
部分实际上是使此编辑起作用的原因,因为它明确告诉JavaScript变量是数字,而不是字符串。另外,我怀疑'number'是不能用于变量的关键字,就像您不能将'function'或'var'用作变量一样。所以我将其更改为“ aNumber”而不是“ number”。
答案 1 :(得分:1)
尝试此操作,您会忘记将其解析为整数
function thing(number) {
for (i = 1; i < number+1; i++){
document.write(i + ' ');
}
}
var otherthing = parseInt(prompt(""));
thing(otherthing);
否则,您也可以这样使用
function thing(number) {
for (i = 1; i < number+1; i++){
document.write(i + ' ');
}
}
var otherthing = prompt("");
thing(+otherthing);
答案 2 :(得分:0)
如Jaromanda X所述,函数事物上的数字参数的数据类型是字符串,而不是int,float或其他数字数据类型。因此,您需要先将其更改为数字。像这样:
function thing(number) {
for (let i = 1; i < Number(number)+1; i++){
document.write(i + ' ');
}
}
var otherthing = prompt("");
thing(otherthing);
答案 3 :(得分:0)
使用Number
将字符串转换为数字:
for (i = 1; i < Number(number) + 1 ; i++) {
function thing(number) {
for (i = 1; i < Number(number) +1 ; i++) {
document.write(i + ' ');
}
}
var otherthing = prompt("");
thing(otherthing);