创函数的老三种方法与分

1.函勤宣称

function sum1(n1,n2){

    return n1+n2;

  };

2.函数表达式,又叫函数字面量

var sum2=function(n1,n2){

    return n1+n2;

};

二者的区别:解析器会事先念取函数扬言,并使该以实行另外代码之前可看;而函数表达式则必须顶及解析器执行及它们所于的代码行才会真正为解释实施。

打实行函数严格来说也吃函数表达式,它要用以创造一个初的作用域,在这作用域内声明的变量,不会见以及任何作用域内的变量冲突或者歪曲,大多是因匿名函数方式存在,且这自行执行。

(function(n1,n2){

    console.log (n1+n2)

})(1,3);//4

3.函数构造法,参数ECMAScript必须加引号

var sum3=new Function(‘n1′,’n2′,’return n1+n2’);

console.log(sum3(2,3));//5

自打技术角度讲,这是一个函数表达式。一般不推荐用这种方法定义函数,因为这种语法会导致解析两糟代码(第一糟是分析常规ECMAScript代码,第二赖是分析传入构造函数中的字符串),从而影响性。