2009-05-08 47 views
1

這是更快,性能問題對象

  1. 使用的XMLHTTP GET請求並比使用eval()爲reponsetext

  2. 使用JSONP技術用於加載腳本,然後評估腳本的innerHtml。

  3. 將腳本標籤動態添加到JavaScript對象被分配給變量的文檔頭部?

我的直覺告訴我這應該是選項3,但我不確定eval如何與使用腳本標記進行比較。有什麼想法嗎?

+0

也許寫出所有3的快速版本並基準結果?嘗試使用一個相當大的Javascript對象,以便速度的任何差異都是顯而易見的 – Kekoa 2009-05-08 21:59:33

回答

1

它可以根據瀏覽器和其他一些因素而有所不同,所以我認爲如果你真的想要最好的性能,你應該做一些測試和配置文件。其一,eval()函數性能千差萬別取決於你是EVAL什麼()'荷蘭國際集團

0

你應該只使用JSON2 library是不安全的(在大量的潛在使用eval結果解析JSON數據,如使用eval (尤其是在更新的jitting JS引擎中),最後(更重要的是)由JSON2庫提供的JSON對象正在成爲ecma腳本(例如.javascript)標準的一部分,這意味着現在的瀏覽器本地實現json解析(和字符串化),從而大大提高了性能。

如果您使用JSON2庫,它會檢測到JSON對象的本機實現存在並且不會覆蓋它,所以只是隨意使用它將爲您提供一個安全的實現,隨着瀏覽器支持的改進。