JavaScript - 获取父对象

标签 javascript object data-structures

我最近一直想探索 JavaScript 的一些数据结构,但我意识到我没有一个简单的方法来做到这一点。以下面的代码为例:

var a="asdf";

问题是,a 并不存在于它自己的空间中。它实际上成为 window 对象的一个​​属性。这导致了一些问题,例如“是否有任何东西拥有该窗口对象?”和“控制台是附加到窗口的对象吗?”

我认为能够看到变量或对象的父对象(假设它存在)会非常好。有没有办法让控制台告诉你这一点?

最佳答案

每个 javascript 环境都有某种全局对象,用于“保存”全局变量和任何其他全局可访问的内容。在浏览器 JavaScript 环境中,这个全局对象是 window 对象。正如您所发现的,浏览器中的所有全局变量实际上都是 window 对象的属性。在其他 javascript 环境(例如服务器端 JS)中,全局对象不是窗口对象,但仍然存在一个具有类似工作原理的全局对象(尽管它没有相同的内置浏览器窗口属性)。

没有通用的方法来查询变量并找出其包含的对象是什么。而且,在某些情况下(例如函数中的局部变量),没有可访问的 javascript 包含可从中访问变量的对象。

window对象本身本质上是由浏览器拥有或控制的。每次浏览器打开一个新的浏览器窗口或选项卡时,它都会创建一个新的窗口对象。然后,它将文档加载到该窗口对象中进行显示,然后该页面中的 javascript 就可以访问 windowdocument 对象。

关于JavaScript - 获取父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19060498/

相关文章:

javascript - 我可以动态更改插件值吗?

c++ - Global const string& 对我来说很难闻,它真的安全吗?

java - 如何创建该类的对象?

检查 C 字典中的单词

javascript - jQuery 数据表 "No Data Available in Table"

javascript - 如何在更改元素可见性的同时卡住网络浏览器的重绘?

javascript - HTML导入angular2应用程序并传递参数

javascript - 从此数组中获取过滤后的数组(首字母相同的值)

c++ - 用于排序/检索字符串的数据结构

algorithm - 用于查找严格子集的快速数据结构(从给定列表中)