我正在玩js,this
如何用对象引用,我创建了一个对象文字,你可以看到小提琴here,它看起来像这样:
function makeUser() {
return {
name: "John",
ref: this
};
};
user = makeUser();
所以,如果我想记录这个,当我这样做时工作正常:
console.log(user.ref.user.name);
但是,如果我想在chrome控制台中的dev工具中访问该对象,那么如果我undefined
,我会得到window.user
,为什么会这样?
答案 0 :(得分:-1)
因为ref
引用了直接父级(那就是窗口)..就像self
一样
=='窗口' ..所以你可以像这样访问name
:
window.user.ref.window.user.name
或
user.ref.user.name
因为窗口是最顶层的对象,你可以忽略它或写它