RANAJN SONU Ответов: 2

Вывести неожиданный вывод, то есть undefinedranjan



var str="ranjan";
var i;
for(i=0;i<str.length;i++)
{
	var text;
	text =""+text+str[i];
}
console.log(text);


Что я уже пробовал:

выход будет неопределенным.

2 Ответов

Рейтинг:
1

Thomas Daniels

Попробовать это:

var str="ranjan";
var i;
var text = "";
for(i=0;i<str.length;i++)
{
	text += str[i]; // equal to text = text + str[i];
}
console.log(text);

Ваш исходный код не работает, потому что в первый раз text = "" + text + str[i] бежит, text было бы undefined.

Также стоит отметить, что в приведенном выше блоке кода, var text = ""; должно быть, вне цикла for, иначе вы бы переопределили его text как пустая строка на каждой итерации.


Рейтинг:
1

Patrice T

Решение 1 уже дало вам объяснение, это решение говорит вам, как увидеть, что происходит самостоятельно.
-----
Ваш код ведет себя не так, как вы ожидаете, и вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что вы должны делать, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
Отладка JavaScript[^]
Хром Инструменты Разработчика  |  Сеть  |  Разработчики Google[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.