2010-10-24 24 views
4

IM做一個jQuery自動完成的,我有10〜20K寄存器JSON VS大JS數組

數據是靜態之間的事情(當我需要,我會運行更新腳本),我可以選擇獲取文件從一個JSON或在單行中嵌入頁面,如:

var title = ["example title 1","example title 2"]; 

哪一個我應該選擇,性能明智? (也即時擔心崩潰/滯後的人民瀏覽器)..以及如何XML?

順便說一句我的PHP腳本已經在使用一個緩存系統,爲HTML

+0

以KB爲單位的數據大小有多大? – Anurag 2010-10-24 19:13:47

+0

小於500kb,我不認爲它會更大,然後1MB – Checksummmmm 2010-10-24 19:20:21

回答

2

您應該考慮使用JSON over AJAX來獲取數據。它會讓你的網頁看起來更快加載。然後,您可以使用WebWorkers(如果系統支持它們)在單獨的線程中解析JSON數據。這將是想法。

500kb的JSON可能不會造成任何顯着的解析開銷,所以我不會擔心會崩潰任何人的瀏覽器。

1

陣列相對於性能更好的選擇。儘管JSON是自然的JavaScript格式,但JSON的對象實例化比字符串數組的創建要慢。它也較小,您將體驗網絡傳輸。

+3

這是不正確的。使用JSON.parse方法解析的JSON理論上應該更快,因爲JS沒有使用正常的JS標記器進行分析。由於JSON是ECMAScript的一個嚴格子集,因此可能的令牌數量較少,因此它比普通的嵌入式JS更好。 – mattbasta 2010-10-24 19:24:12

2

您應該將數組放在單獨的.js文件中並通過<script>加載它。這可以讓瀏覽器將其與HTML頁面分開緩存(這可能會更頻繁地進行更改)。

+0

這個看起來不錯 – Checksummmmm 2010-10-24 19:33:44