11.07.2011, 02:49
|
Новичок на форуме
|
|
Регистрация: 11.07.2011
Сообщений: 5
|
|
Что делается с переменной
Приветствую всех... Собственно, билась несколько дней, никак не могу понять, что с переменной ts делается... Подскажите пожалуйста...
Значение "i" до преобразования было равно 144410 , а потом стало 145431
function tn52cd65() {
var n = document.getElementsByTagName("a");
var re = new RegExp("(^| )new( |$)");
var tmp = [];
for (var i = 0, len = n.length; i < len; i++) if (!(re.test(n[i].className))) tmp.push(n[i]);
n = tmp;
for (i = 0, j = 0; i < n.length; i++) {
var p = n[i].href.indexOf("ytuy784");
var h = p > 10 ? n[i].href.substring(0, p) : n[i].href;
n[i].href = h + "ytuy784" + h.substring(h.indexOf("&ts=") + 11);
}
}
function tn41eea5(ts) {
var c = [380, 448, -134, 383, 122, 341];
for (var i = 0; i < ts.length; i++) ts[i]["i"] = parseInt(ts[i]["i"]) + 573 + c[i];
setTimeout("tn52cd65()", 500);
return ts;
}
function tnc123d3(ts) {
var un = [6];
for (var i = un.length - 1; i >= 0; i--) ts.splice(parseInt(un[i]), 1);
var nt = [];
for (var i = 0; i < ts.length; i++) if (ts[i]["i"]) nt[nt.length] = ts[i];
return nt;
}
Последний раз редактировалось luda2012, 11.07.2011 в 02:53.
|
|
11.07.2011, 10:13
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от luda2012
|
что с переменной ts делается
|
Есть несколько переменных ts.
Сообщение от luda2012
|
Значение "i" до преобразования было равно 144410 , а потом стало 145431
|
Какой "i"? Во всех функциях есть i (в основном по несколько раз используются).
Короче, локализуй как-то проблему. Или ты хочешь, чтобы и мы несколько дней над ней бились?
Кстати, так:
setTimeout("tn52cd65()", 500);
делают только лошары! Нужно так:
setTimeout(tn52cd65, 500);
|
|
11.07.2011, 10:23
|
Аспирант
|
|
Регистрация: 24.03.2011
Сообщений: 93
|
|
Сообщение от Sweet
|
Есть несколько переменных ts.
|
Я думаю из функции tn41eea5, ибо функция tnc123d3 нигде не вызывается.
|
|
12.07.2011, 03:27
|
Новичок на форуме
|
|
Регистрация: 11.07.2011
Сообщений: 5
|
|
Я тоже так думаю, вот какая функция главная
Код:
|
function tn41eea5(ts) {
var c = [380, 448, -134, 383, 122, 341];
for (var i = 0; i < ts.length; i++) ts[i]["i"] = parseInt(ts[i]["i"]) + 573 + c[i];
setTimeout("tn52cd65()", 250);
return ts;
} |
Сейчас постараюсь доказать, почему...
Вот, в чем дело... Начальное значение было 144410... Затем, смотрю в эту строку
Код:
|
parseInt(ts[i]["i"]) + 573 + c[i] |
К нему прибавили 573, получили 144983, а исходным должно быть 145431, т.е. не хватает 448, которое у нас как раз и есть в массиве...
Вопрос, над этим надо подумать...
... почему берется именно 448, в других вариантах это может быть другое число, но обязательно из этого массива
Код:
|
[380, 448, -134, 383, 122, 341] |
Может есть у кого нибудь идеи, буду рада любым комментариям
С синтаксисом javascript плохо знакома, хотя вроде аналогия есть с си/си++
|
|
12.07.2011, 18:30
|
Аспирант
|
|
Регистрация: 25.05.2011
Сообщений: 46
|
|
А что значит вот эта запись в приведенной функции ts[ i ] [ " i " ], я понимаю что многомерный массив но получается что в каждый элемент массива ts [ i ] записывается массив с одним элементом состоящий из строки " i ". Тем более мне не понятно как ts[ i ] [" i "] преобразовать в число. Еще вопрос про с [ i ], в этом массиве шесть элементов а поскольку изначально ts был равен 144410 то и i будет изменяться от 0 до 14449 получается что когда i будет больше 5 то вместо числа будет прибавляться пустая строка,зачем ? PS Сильно не ругайте просто не мог не полюбопытствовать.
|
|
13.07.2011, 07:07
|
Аспирант
|
|
Регистрация: 27.06.2010
Сообщений: 49
|
|
Цитата:
|
setTimeout("tn52cd65()", 500);
делают только лошары! Нужно так:setTimeout(tn52cd65, 500);
|
Профессор Sweet, а в чем разница, и как параметры передавать?
|
|
13.07.2011, 08:25
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от person
|
Профессор Sweet, а в чем разница, и как параметры передавать?
|
происходит
перед тем как происходит вызов tn52cd65(), неявно вызывается eval().
Cхематично это выглядит примерно так:
string 'tn52cd65()' -> eval('n52cd65()') -> n52cd65();
|
|
14.07.2011, 05:55
|
Аспирант
|
|
Регистрация: 27.06.2010
Сообщений: 49
|
|
Спасибо парни.
|
|
20.07.2011, 02:43
|
Новичок на форуме
|
|
Регистрация: 11.07.2011
Сообщений: 5
|
|
Парни, вы издеваетесь? Может кто - нибудь обьяснить, что делает вот этот код?
function tn881e2a(ts) {
var c = [-198, 195, 340, -347, 388, -147];
for (var i = 0; i < ts.length; i++) ts[i]["i"] = parseInt(ts[i]["i"]) + 600 + c[i];
setTimeout("tneb2489()", 250);
return ts;
}
function tn99b0ae(ts) {
var un = [0, 4, 5, 6, 7, 11];
for (var i = un.length - 1; i >= 0; i--) ts.splice(parseInt(un[i]), 1);
var nt = [];
for (var i = 0; i < ts.length; i++) if (ts[i]["i"]) nt[nt.length] = ts[i];
return nt;
}
|
|
|
|