Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.12.2013, 13:55
Аватар для Placido
Новичок на форуме
Отправить личное сообщение для Placido Посмотреть профиль Найти все сообщения от Placido
 
Регистрация: 06.11.2013
Сообщений: 5

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

с and or:
return num === 0 && 'jan' ||
    num === 1 && 'feb' ||
...

and:
num === 0 && (string = 'jan');
  num === 1 && (string = 'feb');
...

switch:
switch (num) {
    case 0:
      string = 'jan';
      break;
    case 1:
      string = 'feb';
      break;...

if:
if (num === 0) {
    return 'jan'
  }
  if (num === 1) {
    return 'feb'
  }...


if else:
if (num === 0) {
    return 'jan'
  } else
  if (num === 1) {
    return 'feb'
  } else...

Код на jsperf.

Тесты на скорость победителя не выявили (в разных браузерах победители разные).
Что бы вы использовали для описанной задачи - switch или что-то иное и почему?
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2013, 14:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Placido, массивы, не слышал такое слово?

Сообщение от Placido
Тесты на скорость победителя не выявили
А сколько спичек ты пытаешься с экономить?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2013, 20:48
Аватар для Placido
Новичок на форуме
Отправить личное сообщение для Placido Посмотреть профиль Найти все сообщения от Placido
 
Регистрация: 06.11.2013
Сообщений: 5

Действительно. Заработался, видимо. Спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 16.12.2013, 04:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Placido
if else:
Когда в каждой ветке return, то else теряет смысл. Сам разве не замечаешь?
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смишных картинок тред megaupload Оффтопик 3447 03.07.2023 09:47
как сделать что бы при открытии страницы сразу открылось большое фото oksanaweb Общие вопросы Javascript 1 05.06.2013 02:17
как получить тот кусок текста который сейчас видно на экране ? mitiya Общие вопросы Javascript 27 21.03.2013 12:21
Как (эффективно) изучать JavaScript? JSTalker Общие вопросы Javascript 33 23.12.2010 03:13
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39