簡體   English   中英

JavaScript-將元素存儲在全局變量中

[英]JavaScript - storing elements in global variables

我知道在JS中全局變量被認為是邪惡的,但是為了方便訪問,我習慣將DOM元素存儲在全局變量中。

假設全局變量的替代方法是閉包,因為它們提供了創建范圍的方法,該范圍不允許外部影響來修改內部變量,但是在DOM Elements的情況下是否有必要? 在全局變量中存儲元素是否存在任何危險或不利之處?

自從我找到了解釋為什么全局變量為何有害的文章后,我使用的是手冊參考。

所以代替:

e = document.getElementById('example');
e.value = 'abc';

我用:

function e(id)
{

 return document.getElementById(id);
}
e('example').value = 'abc';

這是合法的選擇嗎?

DOM元素本身具有全球性。

由於您的文檔是全局對象,因此無論如何都可以從應用程序中的任何位置訪問它們。

您正在做的事情是好的,它可以促進代碼的重用,但不能解決任何全局范圍的問題-也就是說,無論您是否采用此策​​略,DOM元素在整個應用程序中都是可訪問的。 :)

但是,另一個問題是,例如,如果將對同一DOM對象的引用存儲在三個不同的變量中,那么您將更改這三個變量之一。 這也將導致對其余兩個對象的DOM操作。 像任何其他語言/技術一樣,這也不是技術本身的問題。 這是由於未遵循良好的編碼方式引起的問題。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM