我正在编写一个使用很多全局变量的JavaScript应用程序:
window.x = 0;
window.y = 0;
我希望能够为窗口对象使用别名:
w = window;
w.x = 0;
w.y = 0;
然而,当我将w设置为window时,它似乎会递归地将自己添加到DOM中:
w = window;
// In the DOM Explorer:
> w page.html
> w page.html
> w page.html...
这似乎会破坏内存,但应用程序仍在正常运行。是否有更好的方法来创建全局变量或窗口别名?
window.
了呢?或者你是在重复使用名称和命名空间吗? - StudioTimewindow.window.window.window.document.title
是合法的,不会浪费 RAM...同样地,由于w==window
,所以w.w.w.w == window.w.window.w
。简而言之:没有问题... - dandavisw
变量也是如此,它的值对此没有任何影响。在浏览器中,循环引用主要发生在JS变量和实际HTML元素对象之间,IE与事件处理相结合会导致著名的内存泄漏问题;然而,您在这里做的事情不应该会给任何浏览器带来麻烦。 - CBroe