Код
jmc.RegisterHandler("Incoming","OnIncoming()");
function OnIncoming()
{
var str = jmc.event;
var pos = 0;
var i = 0;
str_lst = new Array("");
if(str.search("статуя") != -1) {
while (str.charAt(pos) != -1) {
str_lst[i] = str_lst[i] + str.charAt(pos);
pos = pos + 1;
}
}
}
function OnIncoming()
{
var str = jmc.event;
var pos = 0;
var i = 0;
str_lst = new Array("");
if(str.search("статуя") != -1) {
while (str.charAt(pos) != -1) {
str_lst[i] = str_lst[i] + str.charAt(pos);
pos = pos + 1;
}
}
}
У меня постоянно мой цикл падал в бесконечный, в итоге я для проверки свел все в вышенаписанный код. Теоретически он должен мне поочередно брать символы из строки, которую я получил из муда, и в которой есть слово "статуя", и добавлять их в элемент массива str_lst[0]. Как написано в спецификации языка, если переменная pos будет больше длины строки, то charAt(pos) вернет мне -1. Именно такая у меня проверка и стоит. Подскажите, пожалуста, почему данный цикл падает в бесконечный?