Ответы пользователя по тегу JavaScript
  • Замыкания внутри циклов javascript

    Opaspap
    @Opaspap
    Сначала цикл будет закончен, следовательно i выставлено в 10, а потом через 1 секунду вызовется 10 раз функция из замыкания в setTimeout (почти сразу, с разницей ~4мс), после того как последняя из этих функций выйдет область видимости, в которой находится цикл будет отдана на съедение уборщику мусора, до того все ссылки на переменные заданные в области видимости цикла будут считаться нужными.

    Обход обычно делается примерно так:

    for(var i = 0; i < 10; i++) {setTimeout(LogMe(i), //получим функцию
                                         1000*(i+1));} //видимо хочется не всё сразу через 1 секунду выполнить,
                                         // а по одному разу за 1 секунду (последний console.log() через 10 секунд)
    
    function LogMe(i){ //т.к. i объявлена здесь (в аргументе это всё равно что объявление var), 
                                //то она больше не будет ссылкой на i из цикла
                               //эта области видимости отправится  к мусорщику сразу после выполнения следующей функции
    return function() {     //вернем новую функцию со своей областью видимости.
            console.log(i);  
        };
     }


    Всё вместе называется асинхронное выполнение.
    Ответ написан
    Комментировать
  • Событие выделение текста (onselect) только для форм?

    Opaspap
    @Opaspap
    https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onselect

    Notes

    The select event only fires when text inside a text input or textarea is selected. The event is fired after the text has been selected.


    www.w3.org/TR/html401/interact/scripts.html#h-18.2.3

    onselect = script [CT]

    The onselect event occurs when a user selects some text in a text field. This attribute may be used with the INPUT and TEXTAREA elements.


    Т.е. форма не обязательно, но это должен быть input или textarea.
    Ответ написан
    Комментировать
  • Неизвестный квадрат при возвращении результатов запроса?

    Opaspap
    @Opaspap
    Точно файлы в нормальной кодировке ? не какой-нибудь BOM utf8 ? (редактором hex проверьте первый символ в вашем исходнике)
    Ответ написан
    1 комментарий