深入理解Es6箭头函数

     最近在写Vue项目时用箭头函数时遇到了一点问题;this的实例总是不在当前的Vue对象上,发现特别是ajax异步请求数据,或者钩子函数中使用的时候,就会报错。最本溯源:箭头函数的this的锅,如果我们使用function(){},或者Es6 方法的写法就不会出现这类问题。 

今天就主要探讨一下Es6箭头函数

定义:JavaScript ECMAScript6箭头函数表达式的语法比函数表达式短,并且不绑定自己的this,arguments,super或new.target。此外,箭头函数最好在非方法函数中使用,且不能用作构造函数。

增加一些概念性的理解:

 

Javascript中代码的运行环境分为以下三种:

1.全局级别的代码-——默认的代码环境,一旦代码被引入,引擎最先进入的是这个环境。

2.函数级别的代码——当执行一个函数时,运行函数体中的代码。

3.eval的代码——在eval函数内运行的代码。

上下文的概念:为了表示不同的运行环境。执行上下文可以理解为当前代码的运行环境,它会形成一个作用域。在JS中会产生多个执行上下文,JS引擎会以堆栈的方式来处理,栈底永远是全局上下文,栈顶是正在运行的上下文。执行上下文决定了JS执行过程中可以获取哪些变量,函数,数据。每次某个函数被调用,就会有一个新的执行上下文为其创建。(this指向的对象,叫做函数的上下文Context,也叫函数的调用者) 

插入自己的代码:

	

你可能感兴趣的:(前段,es6)