Javascript如何维护单个全局命名空间

Javascript如何维护单个全局命名空间,javascript,Javascript,我想知道Javascript是如何维护单个全局名称空间的。它是否有任何链接器链接与该页面相关的所有JS并维护一个全局名称空间?这里需要了解的重要一点是,页面中的所有JavaScript(无论是内联的还是通过拉入的)基本上是在同一个VM中连接和执行的。不需要“维护单个全局命名空间”,因为所有代码都在同一个位置求值,并共享同一个全局对象window 请记住,尽管现代引擎在内部运行,但JS并不像C那样是一种编译语言。因此,没有链接器 有一个虚拟机的概念,你可能想了解称为。V8 VM支持运行使用一个全局

我想知道Javascript是如何维护单个全局名称空间的。它是否有任何链接器链接与该页面相关的所有JS并维护一个全局名称空间?

这里需要了解的重要一点是,页面中的所有JavaScript(无论是内联的还是通过
拉入的)基本上是在同一个VM中连接和执行的。不需要“维护单个全局命名空间”,因为所有代码都在同一个位置求值,并共享同一个全局对象
window

请记住,尽管现代引擎在内部运行,但JS并不像C那样是一种编译语言。因此,没有链接器


有一个虚拟机的概念,你可能想了解称为。V8 VM支持运行使用一个全局对象的代码和使用不同全局对象的代码。这允许在
中运行的代码获得自己的全局对象,但仍然可以从父页面的上下文中访问和调用方法。

阅读以下内容:这应该会有所帮助:保持每个脚本元素完全独立不是会更难吗?尤其是因为它们都需要与同一个DOM交互。@Quentin:不太可能。每个
都有自己独立的上下文,所以让每个
也有一个上下文是很简单的。然而,这将是一个重大的突破性变化,因此行为保持原样。