Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Рекурсия и setTimeout() (https://javascript.ru/forum/project/21360-rekursiya-i-settimeout.html)

Gozar 09.09.2011 13:14

Цитата:

Сообщение от Виктор Кон (Сообщение 125727)
Однако если вы перестали считать javascript недоделанным уродом, то вы как раз и ошибаетесь. Он такой и таким будет всегда.

Я уже не удивляюсь. Что и следовало доказать. Человек не знающий, что json это JavaScript Object Notation, а не фреймворк или библиотека, не в состоянии понять того, что ему говорят.

Виктор Кон 09.09.2011 13:33

вот ссылка
https://github.com/douglascrockford/JSON-js
вы же наверно не сам язык YAML имели в виду, а средства работы с ним. Что можно сделать с пустым языком?
Я заполнил массив вручную, вам не понравилось, вы написали что так нельзя. Но не написали как? Это вообще ваш стиль - ругать неконструктивно.

Sweet 09.09.2011 13:44

Народ, хватит обращать на него внимание! Он же тролль!!!

Gozar 09.09.2011 14:48

Цитата:

Сообщение от Виктор Кон (Сообщение 125737)
вы же наверно не сам язык YAML имели в виду, а средства работы с ним. Что можно сделать с пустым языком?

Ну да уж конечно, зачем мозги применять, когда можно цитатами кидаться.

var url = "http://img-fotki.yandex.ru/get";
var data = [
{par: [ 5000, 0, 0, 10, 800, -600, 30, 0], src: url+"/3614/kohnvict.7/0_14cfd_3a2b2117_XL.jpg"},
{par: [ 5000, 0, 0, 10, 0, -600, 30, 0], src: url+"/3614/kohnvict.7/0_14cfe_3c64ed90_XL.jpg"}
]
в конце for по массиву объектов.


Собственно это пример не для вас, вы всё равно уже для нас потеряны, а для тех кто будет кроме вас читать эту тему. Пусть их минует дурдом клонирования imga[i] = new Image(); imga[i].src;

Вы сами того не осознавая доказали всё величие js. У него очень низкий порог вхождения и даже программисты других языков в принципе могут легко реализовать то, что хотят, не углубляясь в подробности. Всё остальное зависит от характера человека, может и лягушкой остаться, квакающей только. ;)

Виктор Кон 09.09.2011 15:35

Во-первых, спасибо за конкретный ответ, а не просто брань и упреки.

Во-вторых, объясню почему мне это не подходит. Конечно imga[i] я могу определить в цикле, это не проблема. Возможно я даже перепишу программу и так сделаю. Но я и так делаю в цикле. Ведь этот код я руками не пишу, его пишет программа, которая как раз это делает в цикле.

Далее, сокращать адреса мне нельзя, я ведь их тоже не пишу, я их копирую из адресной строки браузера и любое их изменение - это лишняя работа. Массив адресов формируется в текстовом файле и считывается из него. Адреса копируются, я не набираю ни одной буквы. Они могут быть совершенно произвольными, это случайно так получилось, что есть одинаковые куски конкретно в данном файле.

Конечно можно записать par и src без индексов, но какая разница. Компьютер быстрее работать не будет, он и так быстро работает. Ваш код просто приводит к лишней головной боли не меняя по сути ничего. И это не json а просто объекты в js.

Gozar 09.09.2011 16:14

Цитата:

Сообщение от Виктор Кон (Сообщение 125756)
Ваш код просто приводит к лишней головной боли не меняя по сути ничего. И это не json а просто объекты в js.

Ню, ню. Я не вам его и показываю, я уже понял что "вы надели шапочку из фольги".

Цитата:

Сообщение от Виктор Кон (Сообщение 125756)
Ведь этот код я руками не пишу, его пишет программа, которая как раз это делает в цикле.

В каком месте я предлагал писать код руками? Вы уверены что вы вообще программист? Непохоже.
что в java нельзя сделать что-то подобное?:
["{par:}","{par}"].join(",");




Цитата:

Сообщение от Виктор Кон (Сообщение 125756)
Далее, сокращать адреса мне нельзя, я ведь их тоже не пишу, я их копирую из адресной строки браузера и любое их изменение - это лишняя работа. Массив адресов формируется в текстовом файле и считывается из него. Адреса копируются, я не набираю ни одной буквы. Они могут быть совершенно произвольными, это случайно так получилось, что есть одинаковые куски конкретно в данном файле.

я сократил лишь для читабельности кода на этом форуме, это не принципиально.

Цитата:

Сообщение от Виктор Кон (Сообщение 125756)
Конечно можно записать par и src без индексов, но какая разница.

Разница в том, что если вы делаете это для себя, то это не имеет значения, но если вы выкладываете ваш код в этот раздел и вообще на этот форум и предлагаете его посмотреть, то вы автоматически становитесь говнокодером с неуправляемой и никому не нужной поделкой.

Поэтому либо примите к сведению, либо вы тупой тролль.

Виктор Кон 09.09.2011 17:26

И все таки я не понимаю кто из нас тролль и чего вы добиваетесь. Автор данного поста выложил свой код, который на порядок хуже моего. Про него уже забыли, все набросились на меня. Я свой код не выкладывал, писал автору поста, а в результате читаю ваши нападки. А не знаю кто такой программист. Мне казалось - это человек, который пишет работающие программы. А как выглядит код, у каждого свои приемы. И каждый имеет право советовать свои приемы. Мой код работает, значит я программист. Но на самом деле я не продаю свои программы, значит не программист. Автор данного поста тоже не программист. Как и очень многие тут на форуме. Надоело, больше писать не буду.

Gozar 09.09.2011 17:43

Цитата:

Сообщение от Виктор Кон (Сообщение 125785)
Надоело, больше писать не буду.

Верное решение, так держать.

SergeyGG 24.09.2015 10:58

хотел сделать рекурсивно.
setTimeout не обрабатывался пока не завернул свою функцию и анонимную функцию.
// массив елементор
    var mans = document.querySelectorAll('.man');

    function paintBG(elemsArray,startNum,timeoutMs,classSrt) {

        elemsArray[startNum].classList.add(classSrt);

        if(elemsArray[++startNum]){
          setTimeout(()=>{paintBG(elemsArray,startNum,timeoutMs,classSrt)
          },timeoutMs);
        }
        else{
          return console.log('end');
        }
    };

    paintBG(mans,0,500,'man_red');


Часовой пояс GMT +3, время: 00:35.