语法
function name([param,[, param,[..., param]]]) { [statements] }
name
- 函数名
param
- 传递非函数的参数名,参数个数最多255个。
statements
- 构成函数体的语句。
描述
通过函数声明构造的函数是Function对象,所以拥有一切Function对象所有的属性,方法和行为。
函数默认返回undefined,如果想返回其他值,函数必须使用return语句来返回你想返回的值。
通过条件语句判断创造的函数
函数可以通过条件语句来声明,也就是说函数可以内嵌在if语句中。
除了Mozilla之外的所有浏览器都将用条件语句来声明的函数当做没有条件语句的声明并且无论if判断true还是false都将创造一个函数。
所以不要通过if语句的条件判断来选择性的声明一个函数,你可以在if语句中选择使用函数表达式方法来创建函数。
函数声明提前Function declaration hoisting
在JS中函数声明将会提前于函数定义。所以你可以在函数声明之前使用它们:
hoisted(); // logs "foo" function hoisted() { console.log("foo"); }
注意函数表达式没有提前,所以你不可以在定义函数之前使用:
notHoisted(); // TypeError: notHoisted is not a function var notHoisted = function() { console.log("bar"); };
举例:
下面的代码声明了一个返回总销量的函数,传递给函数的参数是商品a,b,c的数量。
function calc_sales(units_a, units_b, units_c) { return units_a*79 + units_b * 129 + units_c * 699; }