首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Expression closures

非标准,不要使用!

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

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

语法

代码语言:javascript
复制
function [name]([param1[, param2[, ..., paramN]]])
   expression

参数

name函数名。函数名可以省略不写,称为匿名函数。函数名仅在函数体有效。

paramN形参名。一个函数最多可以有255个参数。

expression构成函数体的表达式。

描述

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

JavaScript 1.7 及之前版本:

代码语言:javascript
复制
function(x) { return x * x; }

JavaScript 1.8:

代码语言:javascript
复制
function(x) x * x

该语法支持省略花括号和'return'语句。使用这种编码的目的只是为了在句法上使得代码更加简化,但除此之外没有其他好处。

示例

一种绑定事件监听器的便捷方式:

代码语言:javascript
复制
 document.addEventListener('click', function() false, true);

在 JavaScript 1.6 中的一些数组函数中使用该标记:

代码语言:javascript
复制
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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com