JavaScript基本概念の語句

4459 ワード

語句
ECMA-622は、ステートメントのセット(フロー制御ステートメントとも呼ばれる)を規定している.
if文
  • if文文法
  • if(condition) statement1 else statement2
    
    if(condition) statement1 else if statement2 else statement3
    
    ここでcondition(条件)は、任意の表現であり得る.この表式の値を求める結果はブール値とは限らない.ECMAScriptはBoolean()変換関数を自動的に呼び出し、この表式の結果をブール値に変換します.
    if(i>25){
      alert("Greater than 25.");
    }else{
      alert("Less than or equal to 25.")
    }
    
    if(i>25){
      alert("Greater than 25.");
    }else if(i < 0){
      alert("Less than 0.")
    }else{
      alert("Between 0 and 25,inclusive.")
    }
    
    do-while文
    体内を循環させるコードは少なくとも一回実行されます.
  • do-while文文法
  • do{
      statement
    }while(expression);
    
    var i = 0;
    do{
      i += 2;
    }while(i <10);
    alert(i);
    
    while文
  • while文法
  • while(expression) statement
    
    var i = 0;
    while(i < 10){
      i += 2;
    }
    
    for文
  • for文文法
  • for(initialization; expression; post-loop-expression) statement
    
    var count = 10;
    for(var i = 0; i < count; i++){
      alert(i);
    }
    
    for-i n文
    オブジェクトの属性を列挙できます.
  • for-i文文法
  • for(property in expression) statement
    
    for(var propName in window){
      document.write(propName);
    }
    
    for-i-nサイクルを使用する前に、このオブジェクトの値がnullまたはundefinではないことを確認します.
    label文
    label文を使ってコードにラベルを追加して、将来に使うことができます.
  • label文構文
  • label :statement
    
    start: for(var i=0; i
    この例で定義されているstartタグは、将来的にはbreakまたはcontine文によって引用されます.ラベルを付ける語句は、for文などの循環語句と合わせて使うのが一般的です.
    breakとcontine文
    breakとcontinue文は、ループの中でコードの実行を正確に制御するために使用されます.breakは直ちにループを終了し、ループ後のステートメントを強制的に実行します.continue文はすぐにループを終了しますが、ループを終了するとループの先頭から続行されます.
    var num = 0;
    for (var i=1; i<10; i++){
      if(i%5 == 0){
        break;
      }
      num++;
    }
    
    alert(num); //4
    
    var num = 0;
    for (var i=1; i<10; i++){
       if(i%5 == 0){
        continue;
      }
      num++;
    }
    alert(num);  //8
    
    var num = 0;
    outermost: for(var i=0; i<10; i++){
      for(var j=0; j<10; j++){
        if(i==5 && j==5){
          break outermost;
        }
        num++;
      }
    }
    alert(num); //55
    
    var num = 0;
    outermost: for(var i=0; i<10; i++){
      for(var j=0; j<10; j++){
        if(i==5 && j==5){
          continue outermost;
        }
        num++;
      }
    }
    alert(num); //95
    
    with文
    with文の役割は、コードのスコープを特定のオブジェクトに設定することです.
  • with文文法
  • with (expression) statement;
    
    var qs = location.search.substring(1);
    var hostName = location.hostname;
    var url = location.href;
    
    with(location){
      var qs = search.substring(1);
      var hostName = hostname;
      var url = href;
    }
    
    厳密なモードではwith文は使用できません.そうでないと文法エラーと見なされます.
    switch文
  • switch文文法
  • switch(expression){
     case value: statement
        break;
     case value: statement
        break;
     case value: statement
        break;
     case value: statement
        break;
      default : statement
    }
    
    if(i==25){
      alert("25");
    }else if(i==35){
      alert("35");
    }else if(i==45){
      alert("45");
    }else{
      alert("Other");
    }
    
    switch(i){
      case 25:
          alert("25");
          break;
      case 35:
          alert("35");
          break;
      case 45:
          alert("45");
          break;
      default:
          alert("Other");
    }
    
    switch(i){
      case 25:
    case 35:
          alert("25 or 35");
          break;
      case 45:
          alert("45");
          break;
      default:
          alert("Other");
    }
    
    switch("hello world"){
        case "hello" + "world":
              alert("Greeting was found");
              break;
        case "goodbye":
              alert("Closing was found");
              break;
        default:
              alert("Unexpected message was found.");
    }
    
    var num=25;
    switch(true){
        case num<0:
            alert('Less than 0.');
            break;
        case num>=0 && num<=10:
            alert('Between 0 and 10.');
            break;
        case num>10 && num<=20:
            alert('Between 10 and 20.');
            break;
        default:
            alert('More than 20.');
    }