Espruino:Справочник по API/Класс E/getSizeOf(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
E.getSizeOf(v, depth) | E.getSizeOf(v, depth) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 30: | Строка 30: | ||
Но '''E.getSizeOf(function(a,b) { }, 1)''' вернет: | Но '''E.getSizeOf(function(a,b) { }, 1)''' вернет: | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
[ | [ | ||
{ | { |
Версия от 18:28, 14 мая 2023
Функция E.getSizeOf()[1]
Синтаксис
E.getSizeOf(v, depth)
Параметры
- v – переменная, размер которой надо узнать
- depth – уровень подробности результата. Если задать depth<=0 или undefined, то будет возвращено одно целое число
Возвращаемое значение
Информацию о размере переменной (см. ниже).
Описание
Возвращает количество блоков, используемых заданной переменной. Эта функция может пригодиться в случае, когда у вас не хватает памяти, и вы хотите посмотреть, что занимает большую часть доступной памяти.
Если задать в аргументе depth значение выше нуля, а в v – многосоставную переменную (т.е. переменную, внутри которой что-то есть), функция вернет массив, содержащий названия всех свойств (включая названия внутренних объектов Espruino) и их размеры. Если задать depth>1, в результате также будет поле more, содержащее информацию о дочерних объектах внутри дочерних объектов.
К примеру, E.getSizeOf(function(a,b) { }) вернет «5».
Но E.getSizeOf(function(a,b) { }, 1) вернет:
[
{
"name": "a",
"size": 1 },
{
"name": "b",
"size": 1 },
{
"name": "\xFFcod",
"size": 2 }
]
В это случае число «2» в аргументе depth не даст никакого результата, т.к. в переменной больше нет дочерних объектов, которые можно было бы показать.
Более подробно читайте тут.
Примечание: Эта функция не доступна для устройств с маленькой flash-памятью.
См.также
Внешние ссылки