函数

第一种,普通函数:用 function 关键字定义的函数。

function foo(){
 // code
 }

第二种,箭头函数:用 => 运算符定义的函数。

 const foo = () => {
 // code
}

第三种,方法:在 class 中定义的函数。

 class C {
     foo(){
    //code
    }
 }

第四种,生成器函数:用 function * 定义的函数。

function* foo(){
 // code
 }

第五种,类:用 class 定义的类,实际上也是函数。

 class Foo {
     constructor(){
     //code
     }
}

第六 / 七 / 八种,异步函数:普通函数、箭头函数和生成器函数加上 async 关键字。

async function foo(){
 // code
 }
const foo = async () => {
 // code
 }
async function foo*(){
 // code
 }
  ES6 以来,大量加入的新语法极大地方便了我们编程的同时,也增加了很多我们理解的心智负担。要想认识这些函数的执行上下文切换,我们必须要对它们行为上的区别有所了解。对普通变量而言,这些函数并没有本质区别,都是遵循了“继承定义时环境”的规则,它们的一个行为差异在于 this 关键字。

 

posted on 2020-10-10 10:48  小名香菜~  阅读(452)  评论(0编辑  收藏  举报