Expression closures
Expression closures
非标准,不要使用!
闭包表达式语法是废弃的 SpiderMonkey 的特性,并且将被移除。为了长远使用,考虑使用箭头函数。
表达式闭包是定义简单函数的一种便捷方式。
语法
function [name]([param1[, param2[, ..., paramN]]])
expression
参数
name
函数名。函数名可以省略不写,称为匿名函数。函数名仅在函数体有效。
描述
这一附加特性只是编写简单函数的快捷方式,让语言更类似通常的 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'
浏览器兼容
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | No support | (Yes) | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | No support | (Yes) | No support | No support | No support |