Сколько данных может содержать глобальная переменная javascript? - PullRequest
3 голосов
/ 16 марта 2010

Чтобы включить функцию возврата назад с помощью 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 ]

12 голосов
/ 16 марта 2010

Ограничений нет, максимальный размер зависит от браузера / реализации.

Вы можете проверить лимит, выполнив скрипт следующим образом:

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

Я получаю сообщение об ошибке в Chrome около 26 МБ.

1 голос
/ 19 марта 2012

Да, пока существует ограничение, которое я наблюдал, один из методов возвращал данные размером более 6 МБ в переменную сценария java, но он не мог обработать такой большой объем данных, фактически он выдавал ошибку (JVM закрыта внезапно) я попробовал в Mozilla и IE, это то, что я заметил.

0 голосов
/ 16 марта 2010

переменная в javascript может содержать объект или строку. Объект - это неограниченная структура данных. Строки ограничены только реализацией (как сказал Боб) и не должны быть для вас ограничением.

0 голосов
/ 16 марта 2010

Глобальные переменные ничем не отличаются от неглобальных переменных в том, что и сколько они могут содержать. В спецификациях не упоминается ограничение на длину строки (строка, которая будет возвращена AJAX), поэтому я думаю, что это зависит от реализации.

Я нашел это обсуждение на bytes.com, где упоминаются некоторые ограничения, которые они достигли в разных браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...