0
<script>
function makeid()
{
var text = "var text = document.write(lastNumber);";
var possible = "*+-/";
for( var i=0; i < 1; i++ )
document.write(lastNumber + possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
document.write(makeid(1))</script>

我如何使它输入例如:23 * 45- 13 / 等等。怎么了?它只显示了 2 个数字,之后没有字符。

4

2 回答 2

1

代码有一些问题:

  • 您尚未在函数中指定 lastNumber 参数。
  • 您正在返回使用该参数的代码,但无法从执行代码的位置访问它。
  • 返回的代码使用document.write虽然它不返回任何东西的返回值。
  • 返回的代码没有脚本标签,所以它只会显示在页面上而不是执行。
  • 您既要在函数中写入数字,又要返回编写它的代码。

还:

  • 您正在使用一个只循环一次的循环,这是没有意义的。

只需让函数返回字符串而不是返回代码:

<script type="text/javascript">
function makeid(lastNumber) {
  var possible = "*+-/";
  return lastNumber + possible.charAt(Math.floor(Math.random() * possible.length));
}
document.write(makeid(1));
</script>
于 2010-12-31T19:59:26.017 回答
0
<script>
function makeid()
{
var text = document.write(lastNumber);
var possible = "*-+/";
for( var i=0; i < 1; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
document.write(makeid(1))</script>

那行得通,但我得到“88undefined+”什么是未定义的,我该如何删除它?

于 2010-12-31T20:00:20.800 回答