Какой обьект скушает больше памяти?
Такой вариант. function obj1(){ this.func = function(){ alert("Обьект1"); } } Или такой вариант, когда обьект использует внешние функции. function al(msg){ alert(msg) } function obj2(){ this.func=function(){ al("Обьект2"); } } new obj1() > new obj2() ??????????? Пока писал понял:)) Но всё же. Как правильно создавать методы обьекта? Они должны быть маленькими и использовать внешние функции, или можно писать функции прямо в обьекте. При создании обьекта память будет расходоваться сильнее? Как-то тупо описал......ммммм может кто поймёт, что я имею ввиду. |
возьми да проверь что кушает больше памяти, в чем проблема?
не умеешь проверять? нажми в хроме F12 там разберешься если знаешь английский. если не знаешь, то завязывай с программированием. подскажу лишь вкладку Profiles |
Цитата:
|
Цитата:
|
Цитата:
|
нет не сложно, если в одном меньше весит то предполагается что и в другом меньше весит.
|
godofjavascript,
с тобой я уж тем более спорить не собираюсь, считай как считаешь |
Ой. Наверное не понятно я написал. Представьте себе, что функция не алерт, а сложные вычисления на 50 строк. И таких методов в обьекте 100. Делать ли вычисления в методах или через методы просто запускать внешние функции .
Как лучше. Недавно я плагин для оперы написал на фреймворке своём, так на одном сайте за 3 мин было сьедено оперой 8гб оперативы.... Получается увесистые обьекты, если вычисления проводить в них, а не через ссылки на функции? |
Цитата:
|
на мой взгляд у вас оба варианта некорректны,
для каждого нового объекта будет создаваться новая функция, хорошо, пусть там будет не алерт, а супер мега крутая функция по вычислениям, строк эдак на ..., и каждая такая функция будет создаваться каждый раз для нового объекта, правильно будет вынести эту функцию var SuperFunc = function() { // n-строк }; var Obj = function() { this.SuperFunc = SuperFunc; }; var o1 = new Obj(); o1.SuperFunc(); var o2 = new Obj(); o2.SuperFunc(); var Obj = function() { this.SuperFunc = function() { // n-строк }; }; var o1 = new Obj(); o1.SuperFunc(); var o2 = new Obj(); o2.SuperFunc(); первый вариант съест меньше памяти |
Часовой пояс GMT +3, время: 06:01. |