访问全局对象与控制台日志一起使用,但在chrome控制台中访问它时则无法访问

时间:2017-11-07 10:04:50

标签: javascript

我正在玩js,this如何用对象引用,我创建了一个对象文字,你可以看到小提琴here,它看起来像这样:

function makeUser() {
  return {
    name: "John",
    ref: this
  };
};

user = makeUser();

所以,如果我想记录这个,当我这样做时工作正常:

console.log(user.ref.user.name);

但是,如果我想在chrome控制台中的dev工具中访问该对象,那么如果我undefined,我会得到window.user,为什么会这样?

1 个答案:

答案 0 :(得分:-1)

因为ref引用了直接父级(那就是窗口)..就像self一样  =='窗口' ..所以你可以像这样访问name

window.user.ref.window.user.name

user.ref.user.name

因为窗口是最顶层的对象,你可以忽略它或写它