Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub

var name = "window";
function Person(name) {
  this.name = name;
  this.obj = {
    name: "obj",
    foo1: function () {
      return function () {
        console.log(this.name);
      };
    },
    foo2: function () {
      return () => {
        console.log(this.name);
      };
    },
  };
}
var person1 = new Person("person1");
var person2 = new Person("person2");

person1.obj.foo1()();
person1.obj.foo1.call(person2)();
person1.obj.foo1().call(person2);

person1.obj.foo2()();
person1.obj.foo2.call(person2)();
person1.obj.foo2().call(person2);

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

答案

person1.obj.foo1()(); // 'window'
person1.obj.foo1.call(person2)(); // 'window'
person1.obj.foo1().call(person2); // 'person2'

person1.obj.foo2()(); // 'obj'
person1.obj.foo2.call(person2)(); // 'person2'
person1.obj.foo2().call(person2); // 'obj'
Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人