Объем памяти функции JavaScript - PullRequest
0 голосов
/ 23 октября 2010

Это кажется довольно очевидным для меня, но я просто хотел убедиться.С точки зрения памяти, используемой при сохранении функции foo, было бы лучше сделать это:

function foo(){
    var hey = {};
    hey.a = 1;
    hey.b = 1;
    alert('done');
}

или

function foo(){
    var hey = getHey();
    alert('done');
}
function getHey(){
    var hey = {};
    hey.a = 1;
    hey.b = 1;
    return hey;
}

, поскольку getHey() просто будетссылка на реальную функцию, я не уверен, хранит ли она foo как есть, или со встроенным getHey.

Ответы [ 2 ]

0 голосов
/ 23 октября 2010

Это отдельные функции. Однако, вероятно, сэкономит место:

function foo() {
  var hey = { a: 1, b: 1 };
}
0 голосов
/ 23 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...