对象如何在JavaScript中引用自身?

时间:2017-02-22 18:48:59

标签: javascript

如何解决此问题,以便打印this should show?我正在构建一个应用,我需要obj: myObj甚至obj: 'myObj'来引用自己。

第1-3行仅用于演示错误。



let myObj = {
  text: 'this shouldn\'t show'
};

myObj = {
  text: 'this should show',
  obj: myObj
}

function show(object) {
  document.write(object.text);
}

show(myObj.obj);




3 个答案:

答案 0 :(得分:0)

这与指向自身的对象无关,这可以通过object.property = object完全实现。这里有两个不同的对象,依次分配给同一个变量。在使用obj: myObj创建第二个对象文字的时间点,myObj(变量)仍然包含您创建的第一个对象。

如果您希望对象指向自身,只需添加具有正确值的属性:

myObj = {
  text: 'this should show'
}

myObj.obj = myObj;

答案 1 :(得分:0)

show(myObj.obj);应为show(myObj);

答案 2 :(得分:-1)

let myObj = {
  text: 'this shouldn\'t show'
};

myObj = {
  text: 'this should show',
}
myObj.obj = myObj;

function show(object) {
  console.log(object.text);
}

show(myObj.obj);

这应该有效