Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > switch диапозон значений


Автор: pythonwin 30.4.2008, 14:53
Всем привет!
пожалуйста, подскажите как можно в операторе выбора поставить блок операторов для диапазона значений

пример кода

Код

var onkeypress1 = function(obj, event){
    event = event || window.event;
    var key = event.keyCode || event.which;
    lastKey = key;
    //
    row = rec1(obj, 'TR');
    table = rec1(row, 'TABLE');
    td = rec1(obj, 'TD');
    switch (lastKey){
        // Enter
        case 13:
            // Ctrl
            if (prevKey==17){
                //submit
            }
            else {
                // func1();
            }
            break;
        // Tab
        case 9:
            //func2();
            break;
        // Escape
        case 27:
            //func3();
            break;
        // для цифр
        case (lastKey>=48 && lastKey<=57):
                alert('number')
    }
    prevKey = lastKey;
}

Автор: Optimus 30.4.2008, 15:59
1)Можно заменить switch на if-else
Код

if (lastKey == 13)
{
  // ...
}
else if (lastKey == 9)
{
 // ...
}
else if (lastKey>=48 && lastKey<=57)
{
  // ...
}

2)можно написать в ручную
Код

switch (lastKey)
{
  case 13:
    // ...
    break;

  case 48:
  case 49:
  case 50:
  // и так далее
  case 57:
    // ...
    break;
}

3)проверить в default'e
Код

switch (lastKey)
{
  case 13:
    // ...
    break;

  default:
    if (lastKey>=48 && lastKey<=57)
    {
      // ...
    }
}

Автор: ksnk 30.4.2008, 16:01
никак... или через if 
Код

if(lastKey>=48 && lastKey<=57):
                alert('number')
else switch (lastKey) {
  case .9: case 27:
     break ;
  ...
}

Автор: pythonwin 30.4.2008, 17:18
Optimus, ksnk, спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)