我正在使用YUI3小部件,但對於您來說jQuery的人只是假裝我們正在討論插件。我有一個大的json數據集,裏面有超過5000條記錄。在我的應用程序中,至少有5個小部件需要訪問我的數據集。目前我正在將json嵌入到html中,並在頁面加載時用YUI3抓取它,然後渲染我的小部件。Javascript:將大型數據集傳遞給多個函數
我想避免的是將5個數據集存儲在內存中。我試圖想出一個讓我避免這種情況的設計模式。我相信如果我將這些數據作爲屬性傳遞給我的小部件,它會通過值傳遞它,而不是引用它,並將它複製到內存中。如果我對此有錯,請告訴我。由於數據是全球可用的,我的小部件可以直接訪問它,但我認爲這也會將數據複製到內存中。
我認爲如果我最初創建一個對象,將數據加載到對象中,並將該對象作爲屬性傳遞,它將通過引用傳遞它,這將允許我的所有小部件訪問我的數據的相同實例。
這是你會做什麼?請讓我知道你的想法,以及你如何設置這樣的事情。
感謝您的(正面)輸入!
html不是動態的,但數據是。我目前使用腳本標記將它嵌入到html中,所以我現在可以從我的所有小部件中全局訪問數據集。因此,每次我將數據分配給其中一個小部件的變量時,它都不會在內存中創建副本?我不完全確定JS如何處理這樣的事情。另外,感謝您的幫助。 – imns 2011-04-18 15:44:51
不,只是傳遞一個對象的引用絕對不會複製。事實上,你必須明確編寫代碼來製作副本。 – Pointy 2011-04-18 15:48:17