Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.02.2012, 20:27
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Mахmахmахimus,
Так это я тебя выделяю среди всех, ага.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #12 (permalink)  
Старый 19.02.2012, 22:45
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Сообщение от Mахmахmахimus Посмотреть сообщение
Нельзя, js не предоставляет API для работы с памятью он делает это автоматически.
Вот норм ответ.
Да, плюсую
Ответить с цитированием
  #13 (permalink)  
Старый 19.02.2012, 22:49
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

Сообщение от Nekromancer Посмотреть сообщение
jsuse,
Переменная ничего не занимает в памяти.
Но это же не так. Когда я объявляю вот так переменную,
var bar = "";

я резервирую место в памяти. Вот одно это объявление занимает три или четыре байта в памяти, я не помню уже сколько. А вы говорите, что ничего не занимает.
Ответить с цитированием
  #14 (permalink)  
Старый 19.02.2012, 23:06
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

jsuse,
В памяти лежит не переменная, а строка, если уж абстрактно брать.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #15 (permalink)  
Старый 19.02.2012, 23:12
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Посмотреть, сколько памяти кто-чего у занял, можно в консоли хрома.

http://code.google.com/chrome/devtoo...profiling.html

Желаю Вам удачи.
Ответить с цитированием
  #16 (permalink)  
Старый 20.02.2012, 12:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

переменная указывающая на любой объект занимает 4-8 байт, в зависимости от системы. Остальное считаем по просту:
текстовые данные, хранят двумя видами, первые 2-4 байта размер строки, далее строка. Либо строка и вконце строки нулевой символ указывающий на конец строки. Числовые переменные зависит от типа числа, в JS везде помойму сплошной FLOAT 8-16 байт, булевые значения 1 байт.
Примерно все так... хотя по JS я особо не интересовался, но если смотреть на более низком уровне то где-то так.
Ответить с цитированием
  #17 (permalink)  
Старый 20.02.2012, 12:47
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

jsuse, не скажешь зачем тебе это узнавать? Может есть более лучший способ решить проблему, если она есть конечно.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #18 (permalink)  
Старый 15.04.2012, 00:59
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от devote
булевые значения 1 байт.
Всю жизнь думал, что 1 бит
Ответить с цитированием
  #19 (permalink)  
Старый 15.04.2012, 17:45
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Насколько я понимаю, переменная является лишь одним из способов работы с памятью, в которой собственно и хранятся данные (абстрактно, переменная - это именованный контейнер для хранения данных).

Для каждого языка программирования определён список простых типов данных и размер этих типов (то какой размер памяти будут занимать значения этих типов).
Размер переменной, хранящей в конкретный момент времени данные простого типа (например, число) как раз равен размеру типа этих данных (обычно это подразумевают под размером переменной с простым значением).

Для сложных типов данных (например, объектов) часто используют ссылочную организацию: представляющая сложные данные переменная хранит лишь ссылку на эти данные, а о том как размещаются в памяти сами данные (например, свойства и методы объекта) и то, каким образом разрешать ссылки, заботится интерпретатор.
Размер таких переменных равен размеру ссылочного типа данных, представляющих в языке ссылки (сколько памяти отводится под ссылки в javascript точно не знаю, но обычно достаточно 4 байт (2^32 - это более 4*10^9 возможных адресов)).
Так как размер переменных с такими данными - это всего лишь размер ссылки, то для таких типов данных обычно существуют функции получения размера самих структур.

Так javascript - это не универсальный (как, например, С++, Delphi и т.п.), а специализированный язык, то и средств для реализации универсальности в нём не так много (хотя в последующих версиях языка ничто не мешает их добавить).
Ответить с цитированием
  #20 (permalink)  
Старый 16.04.2012, 16:15
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от bes
средств для реализации универсальности
ЧТо вы понимаете под универсальностью?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
Как можно узнать что value в INPUT изменилось? moskrc jQuery 2 22.10.2010 09:06
Как узнать какой ресурс кушают мои скрипты Lis_chetson Общие вопросы Javascript 2 11.09.2010 18:08
Можно ли узнать назначенные события MainBuh Events/DOM/Window 4 17.08.2010 11:22
Я даж не знаю какой тут заголовок можно дать... PAMAC Общие вопросы Javascript 2 05.10.2009 19:30