关于函数

function

函数的声明三种方式:浏览器

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

区别:ide

clipboard.png

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

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

不一样类型函数

匿名函数code

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

function () {}

命名函数ip

命名函数是具备函数名称的函数作用域

function fn () {}

当即执行表达式编译器

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

(function () {})()

命名函数表达式

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

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

var math = {
    'fn': fn (n) {
        if (n <= 1) {
            return 1;
        }
        return n * fn(n - 1);
    }
}
相关文章
相关标签/搜索