javascript全局变量可以容纳多少数据?

时间:2010-03-16 18:18:14

标签: ajax

要使用ajax div启用返回功能,我创建了这些简单的函数,我想知道.js全局变量可以容纳多少数据?

    var dataAfterSearch; //global variable which holds our search results

function goBackAfterSearch() {
    /**
    *   function which displays the previous state
    *
    **/
    $.ajaxSetup ({
        cache: false
    });
    //alert("Previous Search" +dataAfterSearch);
    $('#result').html(dataAfterSearch);
     paginateIt();
}
function setDataAfterSearch(data)
{   
    /**
    * function to set the global dataAfterSearch
    *
    **/
    dataAfterSearch = data;
}

亲切的问候

4 个答案:

答案 0 :(得分:12)

没有限制,最大尺寸是浏览器/实现特定。

您可以通过执行以下脚本来测试限制:

var str = "";
var sizeCount = 0;
while( true ) {
   str += "a";
   if( ++sizeCount >= 1048576 ) { // Show an alert for every MB
      alert( str.length );
      sizeCount = 0;
   }
}

我在Chrome中遇到大约26MB的错误。

答案 1 :(得分:1)

到目前为止,我观察到有一个限制,其中一个方法是将数据大小超过6MB的数据返回到java脚本变量,但它无法处理如此大量的数据,实际上它是抛出错误(JVM关闭)突然)我试着在mozilla和IE中,这就是我观察到的。

答案 2 :(得分:0)

全局变量与非全局变量的区别在于它们可以容纳的内容和数量。规范没有提到字符串长度的限制(字符串是AJAX将返回的字符串),因此我认为它依赖于实现。

我在bytes.com上找到this discussion,他们提到了他们在不同浏览器中遇到的一些限制。

答案 3 :(得分:0)

javascript中的变量可以包含对象或字符串。对象是无限数据结构。字符串仅受实现限制(如Bob所说),并且不应成为您的约束。