函数调用的问题

来源:5-6 JS 原型本章相关的面试题

慕函数9246930

2020-09-09

今天面试有道题让解释不会老师帮我看看吧

const o1 = {
      text: 'o1',
      fn: function() {
          return this.text
      }
  }
  const o2 = {
      text: 'o2',
      fn: function() {
          return o1.fn()
      }
  }
  const o3 = {
      text: 'o3',
      fn: function() {
          var fn = o1.fn
          return fn()
      }
  }
  console.log(o1.fn())//o1这个明白在对象方法中调用this指向对象本身
  console.log(o2.fn())//这里不懂
  console.log(o3.fn())//这里也不懂


写回答

1回答

双越

2020-09-09

建议你先继续往下看,一直看到 6-3 节,然后再来回顾这个问题。


再看我的回复:

o2.fn() 咋不明白呢?执行结果就是 o1.fn() ,即 'o1' 呀?这个哪里不明白,我都不知道咋解释了,感觉很好理解呀。

o3.fn() 内部有 fn() ,直接执行 fn() ,则 fn 内部的 this 是 window ,这一点课程里说过。

0
2
双越
回复
慕函数9246930
是的。
2020-09-10
共2条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程