Вирази-замикання

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Obsolete since Gecko 60 (Firefox 60 / Thunderbird 60 / SeaMonkey 2.57)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Нестандартний. Не використовуйте!
Синтаксис виразів-замикань є нерекомендованою особливою функціональністю Firefox, він був прибраний, починаючи з Firefox 60. Для використання у майбутньому розгляньте стрілкові функції.

Вирази-замикання - це скорочений синтаксис для написання простих функцій.

Синтаксис

function [name]([param1[, param2[, ..., paramN]]])
   expression

Параметри

name
Ім'я функції. Можна пропустити, в цьому випадку функція буде анонімною. Ім'я доступне лише всередині тіла функції.
paramN
Ім'я аргумента, що передається у функцію. Функція може мати до 255 аргументів.
expression
Вираз, який складає тіло функції.

Опис

Це доповнення є не більше, ніж скороченим синтаксисом для написання простих функцій, надаючи мові щось схоже на типову нотацію лямбда-числення.

JavaScript 1.7 та старші:

function(x) { return x * x; }

JavaScript 1.8:

function(x) x * x

Цей синтаксис дозволяє не писати фігурні дужки та оператор 'return' - вони стають неявними. Такий запис не надає жодної іншої переваги в написанні коду, окрім синтаксично коротшого запису.

Приклади

Скорочений запис для зв'язування прослуховувачів подій:

 document.addEventListener('click', function() false, true);

Використання цієї нотації з деякими функціями масивів з JavaScript 1.6:

elems.some(function(elem) elem.type == 'text');

Сумісність з веб-переглядачами

No compatibility data found. Please contribute data for "javascript.operators.expression_closures" (depth: 1) to the MDN compatibility data repository.

Див. також