Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问全局对象与控制台日志一起工作,但在chrome控制台中访问全局对象时不起作用_Javascript - Fatal编程技术网

Javascript 访问全局对象与控制台日志一起工作,但在chrome控制台中访问全局对象时不起作用

Javascript 访问全局对象与控制台日志一起工作,但在chrome控制台中访问全局对象时不起作用,javascript,Javascript,我正在玩弄js,而这个是如何被对象引用的,我已经制作了一个对象文本,你可以看到小提琴,它看起来像这样: function makeUser() { return { name: "John", ref: this }; }; user = makeUser(); window.user.ref.window.user.name 因此,如果我想记录这一点,在我这样做时,它可以正常工作: console.log(user.ref.user.name); 但是,如果我想

我正在玩弄js,而
这个
是如何被对象引用的,我已经制作了一个对象文本,你可以看到小提琴,它看起来像这样:

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

user = makeUser();
window.user.ref.window.user.name
因此,如果我想记录这一点,在我这样做时,它可以正常工作:

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

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

因为
ref
引用的是直接父对象(这就是window)…就像
self
==“窗口”。。因此,您可以按如下方式访问
名称

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

user = makeUser();
window.user.ref.window.user.name


因为window是最上面的对象,所以您可以忽略它或将其写入

,但是,即使我尝试这样做,我也无法定义我不知道您所说的“直接父对象”是什么意思。如果OP ask
window
这个
,不是吗?我没有得到您想要的
这个
是未定义的(或者是在草率模式下的全局对象),在示例调用中,我看不出“工作正常”。我所说的“工作正常”是指我在控制台上登录了John的名字。我在你的小提琴页面的控制台中输入
窗口时得到了对象。用户
。只需确保在“结果”框架的上下文中打开devtools,而不是在编辑器上。嘿,Leff,到这里,单击按钮,您可以看到您将在控制台中获得这两个名称:@Bergi是的,这是错误的,我在编辑器的上下文中打开了一个控制台