Вглядываясь в типы javascript, я пытаюсь выяснить, какой максимальный размер хранилища для некоторых типов данных. Например, я создал быстрый рекурсивный алгоритм для увеличения размера var до сбоя браузера, который заканчивается где-то рядом с 128mb (или, может быть, 256) для строк на моей существующей версии chrome.
Я делал это болезненно, потому что я не мог найти никаких спецификаций на этом, но постоянные сбои браузеров делают это болезненным испытанием (попробуйте поймать почему-то бесполезно с этой конкретной проблемой).
Я ищу информацию о максимальном размере памяти для других типов (массив, объект, функции, строки, числа, bools...)
Раздел 8.4 EMCA-262 является неопределенным в отношении этого
Длина строки - это количество элементов (то есть 16-битных значений) внутри нее. Пустая строка имеет длину ноль и поэтому не содержит элементов.
... так что, возможно, это то, что нужно идентифицировать как реализованное в браузерах?
Однако ECMA сообщает нам о номерах, например,
Тип номера имеет точно 18437736874454810627 (то есть 2 ^ 64-2 ^ 53 + 3) значения, представляющие значения 64-разрядного формата IEEE 754 с двойной точностью, как указано в стандарте IEEE для двоичной арифметики с плавающей запятой, за исключением того, что значения 900199254740990 (то есть 2 ^ 53-2) отличные значения "Not-a-Number" стандарта IEEE представлены в ECMAScript как одно специальное значение NaN.
Но тогда я ничего не вижу об объектах.
Что я могу ожидать для использования в браузерах? Есть ли какая-нибудь база кода, которая помогает управлять очень большими объектами и строками?
Сколько памяти я могу выделить в одном script?