美文网首页
前端琐事

前端琐事

作者: Aaron_chen2017 | 来源:发表于2017-03-05 13:58 被阅读25次
复习一下,相关的知识点。在js的编写过程中,函数的地位是不言而喻的。今天分享一道题目:
var name = 'jay';
var person ={
    name:'kang',
    pro:{
    name:'Michael',
    getName:function(){
        return this.name;
      },
    },
};
console.log( person.pro.getName() );
var people = person.pro.getName;
console.log( people() );

这种问题主要是考验开发者对于this的理解。说实话,之前我对this的理解还是比较简陋的。这个问题我是从另一位朋友那里看到的。

在代码执行阶段,js会创建执行上下文:

执行上下文.png

大家可以看到,this在执行上下文的时候确定的也就是在�代码执行的时候确定。

console.log( person.pro.getName() );
这句在执行者是person.pro。所以在执行上下文中this指向了person.pro。
var people = person.pro.getName;
console.log( people() );
这部分的执行者其实没有的,虽然默认people是window的一个属性但是没有显示的调用的话,执行对像就是空的。但是在非严格状态下undefined会被默认指向window。所以结果就出现'jay'。在严格模式下就不会有这个问题了。有兴趣的同学可以试试。
var name = 'jay';
var person ={
    name:'kang',
    pro:{
    name:'Michael',
    getName:function(){
        'use strict'
        return this.name;
      },
    },
};
console.log( person.pro.getName() );
var people = person.pro.getName;
console.log( people() );

本文主要借鉴波同学 这篇文章

相关文章

  • 前端琐事

    复习一下,相关的知识点。在js的编写过程中,函数的地位是不言而喻的。今天分享一道题目: 这种问题主要是考验开发者对...

  • 琐事,琐事。

    所有的离婚究其原因都没什么大事,都是生活中的琐事,正验证了那句话,一个人不能够到达遥远目标,不是因为她没有力气,不...

  • 日常记录 | 小园芳草绿,家住越溪曲

    关键字:170723、周日、淘淘百天之第57天、上海 门店巡检模块琐事过多,再加上与前端同事远程配合,效率有待提高...

  • 琐事引发的琐事

    很多事情,很多时候 我都很难去写完一件事情 不是那个从小得小红花 文章只要语文课就必被读到的小学 初中 高中 时代...

  • 家庭琐事不是琐事

    一天,我从田地里急急忙忙回家拿工具,拐进小巷子时,咣当与里面出来的自行车相撞了。 骑自行车的人,站起来后...

  • 琐事,琐事,被赶跑

    7月20号提交完专业英语的论文,假期就开始了。 之前导师一直没有联系我们,想来他也知道在家的学习效率不怎么样,但九...

  • 「MySQL高级篇」MySQL锁机制&事务

    引言 锁锁锁,到哪到离不开这桩琐事,并发琐事,redis琐事,如今是MySQL琐事,这其中琐事,还跟MySQL另一...

  • 琐事

    2018年5月20日 星期一 多云 一天的开始是从闹钟开始的,当然我今天很早就醒了,六点十六,我还是想睡着。...

  • 琐事

    我一个人坐在窗边,不是抬头看看窗外,就是低头写作,或是看看电影和书了。当然,除了这些每天必行的外,再就是打开酷狗,...

  • 琐事

    悄悄是别离的笙箫,沉默是今晚的康桥! 小到短期旅行,远赴出差;大到下海经商,留学深造。我们都会与亲人朋友分...

网友评论

      本文标题:前端琐事

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