function
函数的声明三种方式:
- function test () {}
- 函数直接量
var test2 = function () {} - Function构造函数
var test3 = new Function(arg1, arg2, function_body)
区别:
函数是一个可以被其它代码或其自身调用的代码片段,或者是一个指该函数的变量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);
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。