Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.10.2010, 18:28
Аватар для sidor
Новичок на форуме
Отправить личное сообщение для sidor Посмотреть профиль Найти все сообщения от sidor
 
Регистрация: 01.03.2010
Сообщений: 3

Оптимизация праметров функции
Здравствуйте, форумчане.
Есть функция:
function showFriends(oFriends, oSort, oFilter) {
   userSearch('', oFriends, oSort, oFilter);
}

Все параметры функции - большие глобальные объекты (генерируются из php).
Получается, что можно записать вот так:
function showFriends() {
   userSearch('', oFriends, oSort, oFilter);
}

В данном случае мы экономим память, так как объекты сохраняться только в [[scope]] userSearch(). Я правильно рассуждаю?

Но , как по мне, код становится менее читабельным, можно запутаться: откуда берется переменная и т.д. Как правильно делать и какой правильный выход из данной ситуации?
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2010, 18:51
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от sidor
В данном случае мы экономим память
Не экономим. Объекты не копируются, операции производятся со ссылками на объекты.
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2010, 19:04
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от sidor
Получается, что можно записать вот так
А если так реально получается (т.е. переменные глобальные), то зачем передавать ссылки на них из функции в функцию? К тому же, это приведет только к ошибкам типа этой:
var variable = 'someValue';
function changeVariable(variable){
  variable = 'anotherValue';
};
function output(variable){
  alert(variable);
};
changeVariable(variable);
output(variable); // 'someValue', а не 'anotherValue'
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Специфические функции и свойства различных браузеров onejsquestion Javascript под браузер 3 28.06.2010 10:54
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Возвращение значения из функции dba Events/DOM/Window 21 06.10.2009 01:33