mozilla
Your Search Results

    Expression closures

    Non-standard. Do not use!
    The expression closure syntax is a deprecated SpiderMonkey-specific feature and will be removed. For future-facing usages, consider using arrow functions.

    Expression closures are a shorthand function syntax for writing simple functions.

    Syntax

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

    Parameters

    name
    The function name. Can be omitted, in which case the function is anonymous. The name is only local to the function body.
    paramN
    The name of an argument to be passed to the function. A function can have up to 255 arguments.
    expression
    The expression which comprise the body of the function.

    Description

    This addition is nothing more than a shorthand for writing simple functions, giving the language something similar to a typical Lambda notation.

    JavaScript 1.7 and older:

    function(x) { return x * x; }

    JavaScript 1.8:

    function(x) x * x

    This syntax allows you to leave off the braces and 'return' statement - making them implicit. There is no added benefit to writing code in this manner, other than having it be syntactically shorter.

    Examples

    A shorthand for binding event listeners:

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

    Using this notation with some of the array functions from JavaScript 1.6:

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

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support Not supported (Yes) Not supported Not supported Not supported
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support Not supported Not supported (Yes) Not supported Not supported Not supported

    See also

    Document Tags and Contributors

    Contributors to this page: fscholz, arai
    Last updated by: fscholz,
    Hide Sidebar