JavaScript基本概念之语句

2017-05-18  本文已影响3人  胖胖冰

语句

ECMA-262规定了一组语句(也称为流控制语句)。

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{
  statement
}while(expression);
var i = 0;
do{
  i += 2;
}while(i <10);
alert(i);
while 语句
while(expression) statement
var i = 0;
while(i < 10){
  i += 2;
}
for 语句
for(initialization; expression; post-loop-expression) statement
var count = 10;
for(var i = 0; i < count; i++){
  alert(i);
}
for-in 语句

可以用来枚举对象的属性。

for(property in expression) statement
for(var propName in window){
  document.write(propName);
}

在使用 for-in 循环之前,先检测确认该对象的值不是 null 或
undefin。

label 语句

使用 label 语句可以在代码中添加标签,以便将来使用。

label :statement
start: for(var i=0; i<count; i++){
  alert(i);
}

这个例子中定义的 start 标签可以在将来由 break 或 continue 语句引用。加标签的语句一般都要与 for 语句等循环语句配合使用。

break 和 continue 语句

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 (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(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.');
}
上一篇下一篇

猜你喜欢

热点阅读