创建函数的三种方式及区别
Posted _Simon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建函数的三种方式及区别相关的知识,希望对你有一定的参考价值。
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.函数构造法,参数必须加引号
var sum3=new Function(‘n1‘,‘n2‘,‘return n1+n2‘);
console.log(sum3(2,3));//5
从技术角度讲,这是一个函数表达式。一般不推荐用这种方法定义函数,因为这种语法会导致解析两次代码(第一次是解析常规ECMAScript代码,第二次是解析传入构造函数中的字符串),从而影响性能。
以上是关于创建函数的三种方式及区别的主要内容,如果未能解决你的问题,请参考以下文章
JS的三种使用方式/CSS的三种使用方式/JS中的DOM事件模型/JS中匿名函数的书写及调用/媒体查询@media的三种使用方式