JavaScript上的各种函数声明

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),显示函数不在没有声明

发表评论

电子邮件地址不会被公开。 必填项已用*标注