Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как научиться использовать замыкания в JavaScript?
 
 автор: antf   (16.04.2015 в 04:31)   письмо автору
 
 

Здравствуйте.
Хочу освоить замыкания в Javascript (в рамках чтения фундаментального руководства Флэнагана). Что такое замыкания - я понял (помогли статьи из интернета, в книге слишком сложно объяснено). Проблема в том, что примеры замыканий в интернете и в книге абстрактные. Посмотрев их, я так и не научился использовать замыкания.

Или может пройти мимо этой темы в Javascript, ограничившись общим пониманием?

  Ответить  
 
 автор: psychomc   (16.04.2015 в 11:54)   письмо автору
 
   для: antf   (16.04.2015 в 04:31)
 

нечего тут особо осваивать. javascript как язык вообще ничего кроме батхёрта не вызывает и то, что на него сейчас многие повально начали переходить, очень печалит. но если очень надо, то можно почитать какую-нибудь книгу, например рейсига


<h1>With closure</h1>
<div>Click me (alert 0)</div>
<div>Click me (alert 1)</div>
<div>Click me (alert 2)</div>
<div>Click me (alert 3)</div>

<script>
(function() {
    var els = document.getElementsByTagName('div');
    for (var i = 0; i < els.length; i ++) {
        (function() {
            var _i = i;
            var el = els[_i];
            el.onclick = function() {
                alert(_i);
            };
        })();
    }
})();
</script>



<h1>Without closure</h1>
<div>Click me (alert 3)</div>
<div>Click me (alert 3)</div>
<div>Click me (alert 3)</div>
<div>Click me (alert 3)</div>

<script>
(function() {
    var els = document.getElementsByTagName('div');
    for (var i = 0; i < els.length; i ++) {
        var _i = i;
        var el = els[_i];
        el.onclick = function() {
            alert(_i);
        };
    }
})();
</script>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования