mozilla
您的搜索结果

    函数表达式

    概述

    function 关键字可用来在一个表达式中定义一个函数。

    语法

    function [name]([param1[, param2[, ..., paramN]]]) {
       statements
    }

    参数

    name
    函数名称。可被忽略,此种情况下的函数是匿名函数(anonymous)。 函数名称只是函数体中的一个本地变量。
    paramN
    被传递给函数的一个参数名称。一个函数至多拥有 255 个参数。
    statements
    构成函数体的语句。

    描述

    函数表达式(function expression)非常类似于函数声明(function statement)(详情查看函数声明,并且拥有几乎相同的语法。函数表达式与函数声明的最主要区别是函数名称(function name),在函数表达式中可忽略它,从而创建匿名函数(anonymous functions)。更多信息请查看函数和函数作用域

    示例

    下例定义了一个未命名的函数,并把它赋值给 x。该函数返回它的参数的平方:

    var x = function(y) {
       return y * y;
    };
    

    命名函数表达式(Named function expression)

    如果你想在函数体内部引用当前函数,则需要创建一个命名函数表达式。然后函数名称将会(且只会)作为函数体(作用域内)的本地变量。这样也可以避免使用非标准的 arguments.callee 属性。

    var math = {
      'factorial': function factorial(n) {
        if (n <= 1)
          return 1;
        return n * factorial(n - 1);
      }
    };
    

    规范

    Specification Status Comment
    ECMAScript 3rd Edition. Standard Initial definition. Implemented in JavaScript 1.5
    ECMAScript 5.1 (ECMA-262)
    Function definition
    Standard  
    ECMAScript 6 (ECMA-262)
    Function defintions
    Release Candidate  

    浏览器兼容性

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

    相关链接

    文档标签和贡献者

    标签: 
    Contributors to this page:
    最后编辑者: AlexChao,
    隐藏侧边栏