关于js的一个作用域问题

刚才在看call的用法时,遇到一个作用域问题,百思不得其解,上图

img


就是这里的this.age为什么是undifined?如果是const和let还容易理解,但是这里明明是var的,var的作用域应该是全局才对,例如上面 obj.objAge明明可以取到17,为什么放在function里面调用就取不到17了?想不通。

因为此时obj.myFun 指向的是obj obj.age 肯定undifined呀