1,定义
- ECMAScript中的函数使用function关键字来声明。
2,返回值
- ECMAScript中的函数在定义时不必指定是否返回值。实际上,任何函数在任何时候都可以通过return语句后跟返回的值来实现返回值。
- 实际上,未指定返回值的函数返回的是一个特殊的undefined的值。
3,参数
- ECMAScript中没有函数签名的概念,因为函数参数是以一个包含0或多个值得数组的形式传递的。
- 可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
- 由于不存在函数签名的特性,ECMAScript函数不能重载。
- ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数。
4,arguments对象
- arguments对象只是与数组类似(并不是Array的实例),因为可以使用方括号[]语法访问它的每一个元素,因此函数可以不显示的使用命名参数。
- 使用length属性来确定传递进来多少个参数。
- arguments对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数的个数决定的。所以如果只传入了一个参数,那么arguments[1]设置的值不会反应到命名参数中。
5,Function类型
- 函数是Function类型的实例,详情参看我的另外这篇JavaScript学习-Function类型