函数定义的方法
1、函数声明
//函数声明
function 函数名(参数1,参数2,参数3,...){
// 函数体
}
//调用函数:
函数名(参数1,参数2,参数3,...);
这种方法调用函数,可以在声明前调用,也可以在声明后调用。
例如,求n的阶乘
//函数声明
function factorial(n){
var sum=1;
for(var i=2; i<=n; i++){
sum*=i;
}
console.log(sum);
}
//调用函数
factorial(5);
在函数声明前调用函数也是正确的,因为js解析器首先会把当前作用域的函数声明提到整个作用域的最前面
//调用函数
factorial(5);
//函数声明
function factorial(n){
var sum=1;
for(var i=2; i<=n; i++){
sum*=i;
}
console.log(sum);
}
2、函数表达式
// 函数表达式
var 函数名 = function (参数1,参数2,参数3,...){
// 函数体
};
// 调用函数:
函数名(参数1,参数2,参数3,...);
例如,求n的阶乘
//函数表达式
var factorial = function (n){
var sum=1;
for(var i=2; i<=n; i++){
sum*=i;
}
console.log(sum);
};
//调用函数
factorial(5);
只能在函数表达式之后调用函数。否则会报错(factorial is not a function)。
3、匿名函数
![](https://i-blog.csdnimg.cn/blog_migrate/f4cce1eb3c802daa3b8d20a46fec79e3.png)
例如,求5的阶乘
//匿名函数,自调用函数,只能调用一次
(function (){
var sum=1;
for(var i=2; i<=5; i++){
sum*=i;
}
console.log(sum);
})();