函数的3种定义方法:函数声明、函数表达式、构造函数。

一、函数的3种定义方法

1、函数声明

//ES5
function getName(){}
function (){}//匿名函数
//ES6
()=>{}//如果{}内容只有一行{}和return关键字可省,

2、函数表达式(函数字面量)

//ES5
var name=function getName(){}
//ES6
let name=()=>{}//如果{}内容只有一行{}和return关键字可省,

3、构造函数

var name=new GetName(arg1,arg2);

二、三者的比较

  • 函数声明有预解析,而且函数声明的优先级高于变量;
  • 使用Function构造函数定义函数的方式是一个函数表达式,这种方式会导致解析两次代码,影响性能。第一次解析常规的JavaScript代码,第二次解析传入构造函数的字符串。
以上文章来自:黄卉 , https://huanghui8030.github.io/js/js01.html