非标准,不要使用!
闭包表达式语法是废弃的 SpiderMonkey 的特性,并且将被移除。为了长远使用,考虑使用箭头函数

表达式闭包是定义简单函数的一种便捷方式。

语法

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

参数

name
函数名。函数名可以省略不写,称为匿名函数。函数名仅在函数体有效。
paramN
形参名。一个函数最多可以有255个参数。
expression
构成函数体的表达式。

描述

这一附加特性只是编写简单函数的快捷方式,让语言更类似通常的 Lambda 标记

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");

浏览器兼容

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Expression closures
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 3 — 60IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android No support 4 — 60Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support Nonodejs No support No

Legend

No support  
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

相关链接