Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Какой обьект скушает больше памяти? (https://javascript.ru/forum/misc/34558-kakojj-obekt-skushaet-bolshe-pamyati.html)

viktorina 10.01.2013 18:49

Дзен-трансгуманист,
Получается, что нужно в самом обьекте создавать?
function obj(){
	var a = "private";
	this.getA = function(){return a;}
}

Или в javascripte не требуется заморачиваться с private protected.....
Блин получается тема прототипов чуть ли не самая важнецкая....

Hoshinokoe 10.01.2013 19:55

viktorina,

Стоит для начала прочитать книгу "Дэвид Флэнаган - Javascript. Подробное руководство". На все твои вопросы есть подробные ответы. Это основы javascript. Если вдруг не найдешь, тогда уже на форум.

viktorina 10.01.2013 20:24

Цитата:

Сообщение от Hoshinokoe
"Дэвид Флэнаган - Javascript. Подробное руководство"

Читал. Ничего не понял:( . Вернее понял немного, но во многом не видел смысла и не понимал что есть важно , а что второстепенно.
Вот как с прототипами....дошёл до того, что стало чего-то не хватать, начал копать, мне указали на прототипы и я понял их важность.
Форум - круче книги. Я тут за пару дней больше узнал, чем за 3 года книг и экспериментов:). Теперь жаба давит, что всегда брезговал форумами.

viktorina 10.01.2013 21:50

А вот ещё вопрос.
function f(a){
            var b = a;
}

for(var i = 0; i<1000000; i++;){
            f("выполняем много раз");
}

var b = a; //новое место на диске.


Получается так, что каждый раз при вызове функции мы постоянно определяем var a; Как я себе представляю, то компьютер всегда на диске выбирает новое место и записывает туда новые данные. Это ж долго:).
Нельзя ли для каждого нового обьекта создавать отдельное место на диске и просто перезаписывать.... ну в рамках работы этого обьекта. Как бы статическая переменная, но для каждого обьекта своя, чтобы каждая функция использовала свои хранилища.
Может я не правильно понимаю var peremennaya.....за ранее прошу прощения...

Gozar 12.01.2013 13:53

Цитата:

Сообщение от viktorina
при вызове функции мы постоянно определяем var a

Нет, только при создании функции.

Цитата:

Сообщение от viktorina
компьютер всегда на диске выбирает новое место и записывает туда новые данные.

Нет, одно и тоже место и записывает туда новые данные. Имеется в виду память, а не жесткий диск(Хотя у кого swap, может и жесткий диск).

При определении функций и переменных, js создает на них ссылки, к которым привязаны ячейки памяти, в которых в дальнейшем и будет записываться и считываться информация.

Как-то так.

Gozar 12.01.2013 13:57

Жизненный цикл функций

viktorina 12.01.2013 14:35

Gozar,
Спасибо.


Часовой пояс GMT +3, время: 02:38.