1、函数声明
function getSum(){}
function (){}//匿名函数
2、函数表达式
var sum=function(){}
let sum=()=>{}//如果{}内容只有一行{}和return关键字可省,
3、构造函数
const sum = new Function('a', 'b' , 'return a + b')
三种方法的对比
1.函数声明有预解析,而且函数声明的优先级高于变量;
2.使用函数构造函数定义函数的方式是一个函数表达式,这种方式会导致解析两次代码,影响性能。第一次解析常规的JavaScript代码,第二次解析重构构造函数的字符串