如何将“ this”绑定到JavaScript对象定义内的对象方法?调用没有对象的对象方法

时间:2019-10-09 21:15:45

标签: javascript object methods

我有一个带有返回颜色的方法的对象,然后将该方法分配给变量,并且在调用时必须输出相同的颜色。

'use strict';

let car = { 
  color: 'Blue',
  colorFunc: function(){
    return this.color;
  }
};

{

let object = car;

  car = null;

  let colorFunc = object.colorFunc;

  console.log(object.colorFunc()); // logs `Blue`

  console.log(colorFunc()); // supposed to log `Blue`

  object.color = 'Red'

  console.log(object.colorFunc()); // logs `Red`

  console.log(colorFunc()); // supposed to log `Red`

}

我希望两个函数调用都返回相同的值。 实际结果是“无法读取未定义的属性名称”

PS:我应该只在对象范围内添加代码。在没有对象的情况下,如何编写该方法以使其返回颜色?

0 个答案:

没有答案