Главная » 2009 » Январь » 7 » Опциональные параметры в JavaScript
Опциональные параметры в JavaScript
20:59

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

В общем писал ф-ию, нужен был опциональный параметр-флаг(логический тип), погуглил нашел хороший и простой способ реализации опциональных параметров.
От слов перейдем к делу, вот простой пример:

Code

<script>
function test_func(p1, p2, p3){
  p3 = p3 || "p3";
  alert(p1 + " - обязательный параметр");
  alert(p2 + " - обязательный параметр");
  alert(p3 + " - опциональный параметр");
}

test_func("p1", "p2");
test_func("p1", "p2", "wtf");
</script>

Собственно вся соль в p3 = p3 || "значение по умолчанию";
В jQuery есть ф-ия по умолчанию для работы с объектами, позволяющая провести проверку на наличие в объекте незаполненных полей и аналогично предыдущему - сравнение с эталоном.

Вот пример из одного моего плагина:

Code


jQuery.fn.UAPlayer = function(options){
  options = jQuery.extend({
  player: 'player.swf',
  width: '200',
  height: '100',
  version: '6',
  pname : "soundpath",
  params : {},
  flashvars: {},
  attributes : {}
  }, options || {});
  // дальше еще код...
}

jQuery.extend - то, что нам нужно, в начале мы задаем эталонный объект(первый параметр), содержащий значения по умолчинаю, а второй параметр - наш объект для сравнения.

Вот оно и все smile

Категория: Coding | Просмотров: 2422 | Добавил: DeT | Теги: js, параметры, опциональные
Всего комментариев: 4
20.11.2012
isoscondict говорит:
Надо запомнить smile

10.11.2012
WagDypepeages говорит:
Этот пост — одно из редких исключений, когда читаешь с интересом и что-то для себя выносишь. Спасибо Вам. Добавлю в избранноеhttp://voronezh.recikl.ru/ - . smile

05.03.2012
Liska говорит:
Все прикольно написано

11.02.2012
vipgod говорит:
Отличная статья, мне нравится, достонйо.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]