Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.07.2011, 02:49
Новичок на форуме
Отправить личное сообщение для luda2012 Посмотреть профиль Найти все сообщения от luda2012
 
Регистрация: 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.
Ответить с цитированием
  #2 (permalink)  
Старый 11.07.2011, 10:13
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от luda2012
что с переменной ts делается
Есть несколько переменных ts.
Сообщение от luda2012
Значение "i" до преобразования было равно 144410 , а потом стало 145431
Какой "i"? Во всех функциях есть i (в основном по несколько раз используются).
Короче, локализуй как-то проблему. Или ты хочешь, чтобы и мы несколько дней над ней бились?
Кстати, так:
setTimeout("tn52cd65()", 500);
делают только лошары! Нужно так:
setTimeout(tn52cd65, 500);
Ответить с цитированием
  #3 (permalink)  
Старый 11.07.2011, 10:23
Аспирант
Отправить личное сообщение для ILL-JAH Посмотреть профиль Найти все сообщения от ILL-JAH
 
Регистрация: 24.03.2011
Сообщений: 93

Сообщение от Sweet
Есть несколько переменных ts.
Я думаю из функции tn41eea5, ибо функция tnc123d3 нигде не вызывается.
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2011, 03:27
Новичок на форуме
Отправить личное сообщение для luda2012 Посмотреть профиль Найти все сообщения от luda2012
 
Регистрация: 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, которое у нас как раз и есть в массиве...
Вопрос, над этим надо подумать...
Код:
+c[i]
... почему берется именно 448, в других вариантах это может быть другое число, но обязательно из этого массива
Код:
[380, 448, -134, 383, 122, 341]
Может есть у кого нибудь идеи, буду рада любым комментариям
С синтаксисом javascript плохо знакома, хотя вроде аналогия есть с си/си++
Ответить с цитированием
  #5 (permalink)  
Старый 12.07.2011, 18:30
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

А что значит вот эта запись в приведенной функции ts[ i ] [ " i " ], я понимаю что многомерный массив но получается что в каждый элемент массива ts [ i ] записывается массив с одним элементом состоящий из строки " i ". Тем более мне не понятно как ts[ i ] [" i "] преобразовать в число. Еще вопрос про с [ i ], в этом массиве шесть элементов а поскольку изначально ts был равен 144410 то и i будет изменяться от 0 до 14449 получается что когда i будет больше 5 то вместо числа будет прибавляться пустая строка,зачем ? PS Сильно не ругайте просто не мог не полюбопытствовать.
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2011, 07:07
Аспирант
Отправить личное сообщение для person Посмотреть профиль Найти все сообщения от person
 
Регистрация: 27.06.2010
Сообщений: 49

Цитата:
setTimeout("tn52cd65()", 500);

делают только лошары! Нужно так:setTimeout(tn52cd65, 500);
Профессор Sweet, а в чем разница, и как параметры передавать?
Ответить с цитированием
  #7 (permalink)  
Старый 13.07.2011, 08:25
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от person
Профессор Sweet, а в чем разница, и как параметры передавать?
происходит
перед тем как происходит вызов tn52cd65(), неявно вызывается eval().
Cхематично это выглядит примерно так:
string 'tn52cd65()' -> eval('n52cd65()') -> n52cd65();
Ответить с цитированием
  #8 (permalink)  
Старый 13.07.2011, 08:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от person
в чем разница, и как параметры передавать?
http://alljs.ru/articles/timeout/overview
Ответить с цитированием
  #9 (permalink)  
Старый 14.07.2011, 05:55
Аспирант
Отправить личное сообщение для person Посмотреть профиль Найти все сообщения от person
 
Регистрация: 27.06.2010
Сообщений: 49

Спасибо парни.
Ответить с цитированием
  #10 (permalink)  
Старый 20.07.2011, 02:43
Новичок на форуме
Отправить личное сообщение для luda2012 Посмотреть профиль Найти все сообщения от luda2012
 
Регистрация: 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;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Zend и Pear для нуба mycoding Серверные языки и технологии 52 13.12.2010 18:32
Что за оператор !! и что он делает? demoniqus Общие вопросы Javascript 2 23.11.2010 18:54
Что можно и нужно прочитать про валидацию? Amateur Общие вопросы Javascript 5 09.03.2010 11:41
Добавление переменной в URL и ее чтение Espoir Элементы интерфейса 1 14.07.2009 13:08