js中声明函数的三种方式

2018-03-23  本文已影响0人  兰方心空

    在公司实习的时候,发现公司项目中函数声明的方式各不相同,有的使用修饰符,有的不使用修饰符,今天来总结一下,js中函数声明的三种方式,以及是使用函数表达式声明函数时,加var和不加var的区别:e

   1、函数声明语法

        function  sum(num1,num2){

return num1+num2;

}

这种方式声明的函数会在当前的作用域中,生命提前。

2、函数表达式

    var sum = function(num1,num2){

    return num1+num2;

}

在代码执行的时候,加载,函数生命不会提前。

3、使用Function构造函数定义

    var sum = new Function("sum1","sum2","return num1+num2");

不推荐使用这种方式声明函数,这种语法会导致解析两次代码,(第一次是解析常规的ECMAScript代码,第二次是解析传入构造函数中的字符串,从而降低了效率);

还有一种比较奇葩的生命函数的方式:

sum = funciton(num1,num2){

return  num1+num2;

}

这种方式声明的函数,会提升为全局变量,而得不到回收,永远占内存。

上一篇下一篇

猜你喜欢

热点阅读