function

函数的声明三种方式:

  • function test () {}
  • 函数直接量
    var test2 = function () {}
  • Function构造函数
    var test3 = new Function(arg1, arg2, function_body)

区别:

clipboard.png

函数是一个可以被其它代码或其自身调用的代码片段,或者是一个指该函数的变量variable
当函数被调用时,参数arguments作为输入传递到函数,并且函数可以选择的返回输出。
在JS中函数也是一个对象Object

函数名是作为函数声明或函数表达式的一部分声明的标识符identifier.
函数的作用域scope取决于函数名是一个声明还是表达式。

不同类型函数

匿名函数

匿名函数是一个没有函数名的函数

function () {}

命名函数

命名函数是具有函数名称的函数

function fn () {}

立即执行表达式

立即调用函数表达式(IIFE)是一个函数,其在函数被加载到浏览器的编译器之后直接调用的。

(function () {})()

命名函数表达式

作用:函数体内部引用当前函数。

命名函数表达式,函数名将会(只会)作为函数体(作用域内)的本地变量。这样可以避免使用非标准的aruments.callee属性

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

alogy
1.3k 声望121 粉丝

// Designer and Developer


下一篇 »
Node_模块