Бесполезно беспокоиться о распределении памяти. Память будет выделена для всего, переменных, массивов, объектов и т. Д. С javascript мало что можно сделать без использования переменной или объекта, но опять же, выделение памяти на самом деле не является доменом javascript сценарий . Любой и все JavaScript будет использовать некоторую степень памяти, несмотря ни на что. В самом деле, я бы сказал, что если вы «научились избегать использования» объектов и массивов, вы были дезинформированы или усвоили неправильный урок.
Гораздо важнее избегать циклических ссылок, избегать чрезмерного потребления памяти на область действия и вообще избегать блокировки потока в браузере из-за узких циклов и других плохих практик. Например, в цикле for
избегайте пересчета предела в объявлении for
: for (var x = 1; x < myString.length; x++)
должно быть var max = myString.length; for(var x = 1; x < max; x++)
. Даже такие оптимизации ( микро -оптимизации в большинстве случаев) не являются критическими для разработчика javascript, поскольку браузер обрабатывает общее выделение / потребление памяти, а также сборку мусора из ссылки.
Для получения дополнительной информации о практических действиях, чтобы избежать утечек , прочитайте эту статью: http://www.javascriptkit.com/javatutors/closuresleak/index.shtml (или другие подобные статьи). В противном случае, если вы не утечка памяти, ожидается, что любой сценарий будет выделять / использовать некоторую степень памяти; это неизбежно. Учитывая, что на современном ПК имеется гигабайт доступной памяти, незначительные последствия использования скрипта килобайт или даже мегабайт не имеют большого значения - вот что такое память чтобы использовать его.