2017-08-07 16 views
-1

我正在從數據庫中獲取數據,將PHP修改爲我的jQuery函數$.getJSON,它在html中生成表。這個函數創建一個名爲innerHTML的變量,它是一個簡單的字符串。我只是跑一些圈和連接具有新的數據和標籤<table><thead><tbody><tr><td>等。在結束這個變量我就跑document.getElementByID('myTable').innerHTML = innerHTML;HTML中的Javascript generete表

我的問題是:

  1. 它會更好生成innerHTML的我有一個數組?

  2. 如果用戶沒有足夠的內存來連接字符串會發生什麼?

  3. 我可以創建一個數組,它會變大我的表,然後將其轉換爲字符串? 或者,也許我應該在網站上連接我的元素的真實innerHTML?

我覺得這種生成表格的方法非常簡單,自我解釋,這就是爲什麼我使用它。但是我真的不知道數據變大時這是否會成爲內存問題 - 現在可以正常工作 - 但未來會發生什麼?

UPDATE

我用另一種方式來達到目的。在擴展字符串或數組的擴展循環中,我使用appendChild,創建我需要的表的所有元素。

+0

無論您使用數組還是字符串都無關緊要。如果數據量相同,兩者都將採用相同的內存。嘗試在您的應用中添加延遲加載或分頁來處理這些場景。不要在innerHTML對象中一次加載整個數據。另外,如果你想嘗試數組操作,那麼你應該嘗試Mori.js或Immutable.js,它們可以減少處理相同數據副本的內存使用量。 – Ashvin777

回答

0

當數據變得非常大時,您可能會考慮一次只添加一些行,然後在網絡空閒或用戶需要時追加更多行。在速度方面,我認爲你選擇了儘可能快的方式來動態地改變你的DOM的內容(相比於使用jQuery而不是連接你的整個數據),但是當數據變大時,很可能爲了讓您的應用程序在使用自定義方式時遇到可讀性問題。