函数的声明三种方式:浏览器
区别:ide
函数是一个能够被其它代码或其自身调用的代码片断,或者是一个指该函数的变量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); } }