美文网首页
箭头函数this的使用

箭头函数this的使用

作者: 温梦丽 | 来源:发表于2017-12-08 13:54 被阅读0次

用一句话概括:
箭头函数中的this指向的是定义时的this,而不是执行时的this
示例:

var obj={
name:"nicolas",
say(){
setTimeout(
function(){
console.log(this.name);
},500);
}
};
obj.say();//undefined

出现上述现象是因为,执行到setTimeout的时候this已经变成了window对象,(setTimeout是window对象的方法),已经不再还obj对象了,所以此处this.name获取的不是obj.name的值而是window.name的值,而window上没有定义属性name,所以得到的结果及时undefined

var obj={
name:"nicolas",
say(){
setTimeout(
//不同处:箭头函数
()=>{
console.log(this.name);
},500);
}
};
obj.say();//nicoles

以上两端代码不同处就是setTimeout中,原本的匿名函数用箭头函数代替了,此外,用箭头函数编写的这段代码,成功地打印出了我们想要的结果:nicolas.

相关文章

  • 箭头函数

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

  • ECMAScript 6 箭头函数

    箭头函数 ES6 允许使用“箭头”(=>)定义函数。 使用注意点 箭头函数有几个使用注意点。 (1)函数体内的th...

  • Es6知识点总结

    methods 不能使用箭头函数 为啥?在箭头函数中使用this的话指向的是组件本身 如果不使用箭头函数 this...

  • 箭头函数和数组

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

  • 学习 ES 6 箭头函数

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

  • 箭头函数

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

  • es6

    箭头函数与普通函数的区别 箭头函数是匿名函数,不能作为构造函数,不能使用new 箭头函数不绑定arguments,...

  • 箭头函数(常用)

    ES6 允许使用箭头(=>)定义函数 箭头函数对于使用function关键字创建的函数有以下区别1.箭头函数没有a...

  • ES6箭头函数

    ES6 允许使用“箭头(=>)定义函数。箭头函数和传统的函数使用时会有一定区别,箭头函数简化了传统函数的写法,在代...

  • ES6学习(4)箭头函数

    ES6允许使用箭头(=>)定义函数,箭头函数提供了一种更加简洁的函数书写方式,箭头函数多用于匿名函数的定义。 箭头...

网友评论

      本文标题:箭头函数this的使用

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