我讀取時間的分配以避免全局變量,並且本地變量也更快。 但是,如果我有我選擇id的元素分配,並需要他們在分配的功能? 每次執行該功能時,都會再次搜索DOM中的元素... 將元素緩存到全局是否更快?全局與局部變量如果經常需要分配元素
回答
這是,但在這種情況下,您應該簡單地找到一次元素,然後將該集合作爲參數傳遞給所有需要它的函數。
這樣大家都很開心:DOM只搜索一次,而且還沒有全局變量。
你有沒有一個不是JavaScript神的人的例子:-)。你的意思是'var SOMETHING = {}; SOMETHING.toggleThumbs = function(){/ * my stuff here * /};' – MrGlasspoole 2013-05-06 10:09:02
@MrGlasspoole:我的意思是'var elements = [...,...,...]'其中'...'是例如'document.getElementById('foo')',然後將'elements'作爲參數傳遞給任意數量的函數。 – Jon 2013-05-07 10:12:12
或者,您可以使用一個全局函數來執行查找,其中包含一個緩存,以便不必重複讀取dom。例如:
function lookupElementById(id) {
if(lookupElementById.elementCache[id] !== undefined) lookupElementById.elementCache[id] = document.getElementById(id);
return lookupElementById.elementCache[id];
}
lookupElementById.elementCache = {}
- 1. 局部變量與全局變量
- 2. 的Python:與局部/全局變量引用/分配內循環
- 3. Python全局與局部變量?
- 4. javascript中的局部與全局變量
- 5. R:局部/全局變量
- 6. 全局和局部變量
- 7. 全局和局部變量
- 8. [R局部全局變量
- 9. 局部變量「X」分配
- 10. 全局變量與配置變量
- 11. JS全局變量到局部變量
- 12. PowerShell全局變量局部變量
- 13. 局部變量的全局變量
- 14. 在分配前需要引用局部變量
- 15. 局部變量比全局變量要長7倍?
- 16. 如何在不更改全局變量的情況下更改分配給全局值的局部變量?
- 17. 分配數組大小與外部全局變量C++
- 18. 與全局變量
- 19. 與全局變量
- 20. Selenium Python UnboundLocalError:分配前引用的局部變量「元素」
- 21. 需要全局變量在php中
- 22. Perl - 全局變量需要顯式包
- 23. 2個窗口需要全局變量
- 24. 需要設置全局變量
- 25. Tcl/Tk綁定需要全局變量?
- 26. JS局部變量全局變化
- 27. 使用XSL分配從模板的局部變量全局變量的值
- 28. 爲什麼局部變量不能在聲明和全局變量分配?
- 29. 設置一個全局變量與局部變量
- 30. 全局與局部靜態變量的shell環境變量
或者,選項(3),把你的函數和變量放在一些包含函數中,這樣你就可以獲得你描述的沒有任何全局變量的緩存好處。 – nnnnnn 2013-05-01 08:49:15