JavaScript上的各种函数声明
函数声明方式
function func(){}
函数表达式方式
var 函数名 = function(参数1,参数2,...){};
var 函数名 = function(参数1,参数2,...){}();
若后面直接加上一个括号,直接调用该函数
使用Function构造函数
所有function都是属于Function类的
var sum = new Function("num1","num2","return num1+num2");
注意,这种声明方式比较消耗效率,影响性能,不会经常使用。但是这种方式去理解对象,是非常直观的。
匿名函数对函数的使用(闭包使用)
(function(){
//独立作用域
})();
因为开发中是一个团队的,难免有函数命名的冲突,这种方式不给函数命名,直接调用函数,从而避免了函数重名的缺点
–
函数的对比
alert(sum(10,10));//20
function sum(num1,num2){
return num1+num2;
}
函数声明提升,执行结果为20.能正常输出,这样声明函数,函数会被提升,像c++那样提前声明函数
alert(sum(10,10));//20
var sum = function(num1,num2){
return num1+num2;
};
出错,这样声明,函数不会被提升,当执行到sum(10,10),显示函数不在没有声明