Текст + randomchar не работает [JavaScript] - PullRequest
0 голосов
/ 31 декабря 2010
<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 номера и без символа после.

Ответы [ 2 ]

1 голос
/ 31 декабря 2010

Есть некоторые проблемы с кодом:

  • Вы не указали параметр lastNumber в функции.
  • Вы возвращаете код, который использует параметр, но он недоступен из того места, где выполняется код.
  • Возвращенный код использует возвращаемое значение document.write, хотя ничего не возвращает.
  • Возвращенный код не имеет тега script, поэтому он будет отображаться на странице вместо выполненного.
  • Вы пишете число в функции и возвращаете код для его записи.

Также:

  • Вы используете цикл, который повторяется только один раз, что бессмысленно.

Просто заставьте функцию возвращать строку, а не возвращать код:

<script type="text/javascript">
function makeid(lastNumber) {
  var possible = "*+-/";
  return lastNumber + possible.charAt(Math.floor(Math.random() * possible.length));
}
document.write(makeid(1));
</script>
0 голосов
/ 31 декабря 2010
<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 +", что не определено и как мне его удалить?

...