美文网首页JS笔记
JSdeep(箭头函数)

JSdeep(箭头函数)

作者: 余生筑 | 来源:发表于2017-11-24 09:17 被阅读9次

箭头函数

  • 箭头函数本身没有this,它的this由父级作用域传入,不能作为bind,call参数传入
var fn=()=>{
    console.log(this)
}

fn.call({name:'Lier'})
//{}
fn.bind({name:'Lier'})()
//{}
/*箭头函数的this不能作为bind,call参数传入*/
var fn=function (){
    console.log(this)
}

fn.call({name:'Lier'})
//{name:'Lier'}
fn.bind({name:'Lier'})()
//{name:'Lier'}
var fn=function(){
    return ()=>{
    console.log(this)
    }
}

fn.call({name:'Lier'}).call({name:'Zha'})
//{name:'Lier'}
/*第一个bind试图为箭头函数的父函数指定this,成功了;
  第二个bind试图为箭头函数指定this,失败了;*/
  • 因此,箭头函数的作用是使该箭头函数继承父级作用域的this
  • 我们可以用箭头函数省略一次bind
setTimeout(function(){
    console.log(this)
    setTimeout(()=>{
    console.log(this)
    },2000)
}.bind({name:'frank'}),1000)

等效于

setTimeout(function(){
    console.log(this)
    setTimeout(function(){
    console.log(this)
    }.bind(this),2000)
}.bind({name:'frank'}),1000)

相关文章

  • JSdeep(箭头函数)

    箭头函数 箭头函数本身没有this,它的this由父级作用域传入,不能作为bind,call参数传入 因此,箭头函...

  • JSdeep(高阶函数)

    高阶函数 接受一个或多个函数作为输入: 输出一个函数: 常见高阶函数

  • ES6~箭头函数

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

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

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

  • 学习 ES 6 箭头函数

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

  • 箭头函数

    箭头函数 箭头函数能让this的指向固定化 分析:1)第一个setInterval()中使用了箭头函数,箭头函数使...

  • TS  笔记this

    this 箭头函数在箭头函数创建的地方获得this;非箭头函数,在调用函数的地方获得this如图

  • 箭头函数和数组

    箭头函数&数组 箭头函数 特点: 没有 this 没有 arguments 没有prototype在箭头函数中使用...

  • 箭头函数

    箭头函数 为什么使用箭头函数

  • 箭头函数中this的指向

    箭头函数在平时开发中用着非常爽,箭头函数有什么特点呢 箭头函数不能够当做构造函数使用 箭头函数没有argument...

网友评论

    本文标题:JSdeep(箭头函数)

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