函数声明:
function add(a,b){
int sum=a+b;
return sum;
}
函数表达式:
var add1=function(a,b){
int sum=a+b;
return sum;
}
(除了函数声明之外的那些其他的函数结构都是函数表达式;函数表达式允许匿名,如果不是匿名也不能通过函数名来调用函数,只能使用储存函数的那个变量名来调用。)
函数声明与函数表达式的区别:
调用位置:函数声明在任何地方都可以调用函数声明,不管函数声明是不是在调用他的语句的后面还是前面都可以成功调用这个函数。函数表达式只能在函数表达式的后面才能再次调用这个函数,如果在函数表达式的前面调用这个函数则会报错。
调用名称:调用函数声明的函数则直接函数名+(),调用函数表达式的函数则变量名+()。
如:
add(4,5);
add1(2,3);
调用时间:函数表达式可以立即执行,函数声明不可以
(function add(a,b){
console.log('test');
})();
var add1=function foo(){
console.log('test');
}();
Function构造器:
var add=new Function(“a”,“b”,“console.log(a+b);”);
add(1,2);