美文网首页
es6-箭头函数

es6-箭头函数

作者: 新林吃遍世界 | 来源:发表于2017-04-21 09:50 被阅读0次

1 变量定义

   let只在局部代码块中有效    const不希望修改,差不多跟常量一个意思吧

2 箭头函数

  【主要作用】:一是更简短的函数书写,二是对this的词法解析

     x = > x  *2            

相当于 function(x){ return x*2}

node   express.get('/aa",function(req,res){

             .....

})

现在你可以这样写

.get("/aa",(req,res)=>{

})

注意返回对象的话要用  ()=> ({

    a:1,b:2

})

你以为就这样?简化了匿名函数的写法,nonono,想想以前函数里面的this吧,

this所在的函数属于谁,他就代表。


以前我们要用jq写个购物车

var goodsDetail = {

     this.num = 10   //这是一个全局变量,

     init: function(){

           this.numAdd();    this属于goodsDetail

},

numAdd:function(){

           var  that = this;

          this  ----------this所在的函数为numAdd,     numAdd属于 goodDetail,so,this代表goodDetail

         $("#dom").click(function(){

            this  ------指代dom这个元素--------注意匿名函数的这种写法

})

}

}


【注】:在 ECMAScript 3/5 中,这个问题可以通过新增一个变量来指向期望的this对象,然后将该变量放到闭包中来解决。


那现在有了箭头函数呢?????

                                  妈妈再也不用担心我的this指向有问题了


箭头函数没有自己的this,他的this值继承自外部。而这里就是window对象了,所以会报undefined的错误。

可以简单的理解,JS 每一个 function 有自己独立的运行上下文,而箭头函数不属于普通的 function,所以没有独立的上下文。所以在箭头函数里写的this其实是包含该箭头函数最近的一个function上下文中的this(如果没有最近的function,就是全局)。

相关文章

  • ES6-箭头函数

    箭头函数中的this ES6函数参数默认值 箭头函数不适用的场景

  • es6-箭头函数

    1 变量定义 let只在局部代码块中有效 const不希望修改,差不多跟常量一个意思吧 2 箭头函数 【主...

  • ES6-箭头函数

    基本语法 当有多个参数时 (参数1,参数2,...参数n)=>{函数体} 当只有一个return时,{}可以省略 ...

  • ES6-箭头函数

    ES6允许使用箭头(=>)定义函数,箭头函数的语法多变,根据实际的使用场景有多种形式,但需要由函数参数、箭头和函数...

  • ES6-函数箭头

    var coverSupport = 'CSS' in window && typ...

  • ES6-箭头函数

    声明和特点 声明 特点 1.this是静态的,this始终指向声明时所在作用域下的值 2.不能作为构造函数实例化对...

  • ES6-函数与箭头函数

    一、设置默认值 二、箭头函数 单个参数 多个参数 实际应用 箭头函数体内的this指向定义时所在的对象,而非实例化...

  • ES6~箭头函数

    什么是箭头函数 单表达式箭头函数 相当于 多表达式箭头函数 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有...

  • 箭头函数和立即执行函数

    箭头函数 箭头函数和普通函数有什么区别?如果把箭头函数转换为不用箭头函数的形式,如何转换主要是this的差别,箭头...

  • 学习 ES 6 箭头函数

    箭头函数的用法 ES6 允许使用“箭头”(=>)定义函数。 箭头函数的一个用处是简化回调函数。 箭头函数 this...

网友评论

      本文标题:es6-箭头函数

      本文链接:https://www.haomeiwen.com/subject/wkarzttx.html