mozilla

Сравнить версии

Функции

Change Revisions

Ревизия 281655:

Версия 281655 пользователя Knyaz Vladimir, сделанная

Ревизия 281656:

Версия 281656 пользователя Knyaz Vladimir, сделанная

Заголовок:
Функции
Функции
Slug:
Руководство_по_JavaScript_1.5/Функции
Руководство_по_JavaScript_1.5/Функции
Содержимое:

Ревизия 281655
Ревизия 281656
nn299    <p>
300      Вы можете вкладывать функцию внутри функцию.Вложенная (внут
 >ренняя) функция является приватной для соджержашей (внешней) её ф
 >ункцией.Она также является замыканием.
301    </p>
nn307    <dl>
308      <dd>
309        <a class="external" href="http://jibbering.com/faq/faq_no
 >tes/closures.html"></a>
310      </dd>
311      <dd>
312        <a class="external" href="http://jibbering.com/faq/faq_no
 >tes/closures.html">Замыкание выражения (как правило, функция), ко
 >торая может иметь свободные переменные, а также окружающей среды,
 > что объединяет эти переменные (что "замыкает" выражение).</a><a 
 >class="external" href="http://jibbering.com/faq/faq_notes/closure
 >s.html"></a>
313      </dd>
314    </dl><a class="external" href="http://jibbering.com/faq/faq_n
 >otes/closures.html"></a>
nn317    </p>
318    <p>
319      Поскольку вложенные функции это замыкание, это означает, чт
 >о вложенные функции могут "унаследовать" аргументы и переменные с
 >одержащей её функции.Иными словами, внутренняя функция содержит к
 >онтекст внешней функции.
n319      The following example shows nested functions:n333      Подведем итог&nbsp;:
334    </p>
335    <ul>
336      <li>Внутренняя функция может получить только из операторов 
 >внешней функции.
337      </li>
338    </ul>
339    <ul>
340      <li>Внутренняя функция создает замыкание: внутренняя функци
 >я может использовать аргументы и переменные внешней функции, тогд
 >а как наружная функция не может использовать аргументы и переменн
 >ые внутренней функции.
341      </li>
342    </ul>
343    <p>
344      The following example shows nested functions: Следующий при
 >мер показывает вложенные функции&nbsp;:
n328a = addSquares(2,3); // returns 13n353a = addSquares(2,3); // вернет 13
329b = addSquares(3,4); // returns 25354b = addSquares(3,4); // вернет 25
330c = addSquares(4,5); // returns 41355c = addSquares(4,5); // вернет 41
nn359    </p>
360    <p>
361      Поскольку внутренная функция создает замыкание, Вы можете в
 >ызвать внешнюю функцию и указать аргументы для внешней и внутренн
 >ей функции&nbsp;:
t342result = outside(3)(5); // returns 8t370result = outside(3)(5); // вернет 8

Вернуться в Историю