资讯专栏INFORMATION COLUMN

面试题——this指向问题

zgbgx / 2458人阅读

摘要:最近面试,今天灌个水掩面因为执行的时候指向全局下箭头函数的指向其实是执行环境决定的,不可改变同样执行环境是这里就不一样了,在一开始定义的时候就指定对象了,所以这里只能是

最近面试,今天灌个水 [掩面]
var a = 1;
var s = {
    a:2;
    f:()=>{
        console.log(a);
    }
}
var sf = s.fn;
sf()// 1 , 因为 sf()执行的时候 this 指向 Global,全局下 a=1;
s.f() // 1 , 箭头函数的 this 指向其实是执行环境决定的,不可改变
var a = 1;
var s = {
    a:2,
    f:function(){
        console.log(a);
    }     
}
var sf = s.f;
sf()// 1 , 同样执行环境是 Global , a =1
s.f() // 这里就不一样了,function 在一开始定义的时候 就指定 this(s对象) 了, 所以这里只能是 2 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102407.html

相关文章

  • 「前端面试系列4」this的原理以及用法

    摘要:但是有一个总的原则那就是总会指向,调用函数的那个对象。作为对象方法的调用函数作为某个对象的方法调用,这时就指这个上级对象。 showImg(https://segmentfault.com/img/bVbnvF7?w=750&h=422); 这是前端面试题系列的第 4 篇,你可能错过了前面的篇章,可以在这里找到: 伪类与伪元素的区别及实战 如何实现一个圣杯布局? 今日头条 面试题和思...

    fnngj 评论0 收藏0
  • 夯实JS基础(一):this指向和经典面试

    摘要:很多高级编程语言都给新创建的对象分配一个引用自身的指针比如中的指针,中的,也有指针,虽然它的指向可能相对复杂些,但是指向的,永远只可能是对象。 很多高级编程语言都给新创建的对象分配一个引用自身的指针,比如JAVA、C++中的this指针,python中的self,JavaScript也有this指针,虽然它的指向可能相对复杂些,但是this指向的,永远只可能是对象。 一、在一般函数方法...

    lucas 评论0 收藏0
  • 夯实JS基础(一):this指向和经典面试

    摘要:很多高级编程语言都给新创建的对象分配一个引用自身的指针比如中的指针,中的,也有指针,虽然它的指向可能相对复杂些,但是指向的,永远只可能是对象。 很多高级编程语言都给新创建的对象分配一个引用自身的指针,比如JAVA、C++中的this指针,python中的self,JavaScript也有this指针,虽然它的指向可能相对复杂些,但是this指向的,永远只可能是对象。 一、在一般函数方法...

    EasonTyler 评论0 收藏0
  • 「前端面试系列5」ES6 中箭头函数的用法

    摘要:在这里,如果用箭头函数,可以这样改写箭头函数并没有自己的,所以事件处理函数的调用者并不受影响。比如,在需要动态上下文的场景中,使用箭头函数需要格外地小心,这些场景包括对象的方法原型方法事件的回调构造函数。 showImg(https://segmentfault.com/img/bVboce6?w=1304&h=734); 前言 年味儿渐散,收拾下心情,继续敲代码吧。 对于即将到来金三...

    betacat 评论0 收藏0

发表评论

0条评论

zgbgx

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<