JS语句

条件语句

if 条件语句

语法: if ( condition ) statement1 else statement2
语法: if ( 条件 ) { 语句1 } else { 语句2 }

其中condition(条件)可以是任意表达式,求值结果不一定是布尔值,ECMAScript会自动调用Boolean()转换函数将结果转换为一个布尔值,如果结果是true,执行statement1;如果是false,执行statemen2,两个语句可以是代码,也可以代码块(以一对花括号括起来的多行代码),

demo1 :
if( i > 25 )
  alert ( " Greater than 25 . ");        //单行语句
else {
  alert ( " Less than  or equal to 25 .");        //代码块中的语句
}

demo2 :
var isMale = false;
  if(isMale){
    document.write('男');
  } else {
    document.write('女');  //上面是false,打印为女
  }

不过if语句也可以扩展为嵌套if

if(condition) statement1 else if (condition2) statement2 else statement3
if( 条件 ) { 语句1 } else if (条件2) { 语句2 } else { 语句3 }

demo:
var score = 85;
  if(score > 80){
    document.write('A');
  } else if(score > 60){
    document.write('B');
  } else {
    document.write('C');
  }

switch语句

switch语句if语句关系密切

语法:switch (expression) {  //表达式
           case value : statement  //值1:语句
               break;  //跳出
           case value : statement
               break;
           case value : statement
               break;
           case value : statement
               break;
           default : statement
       }

demo:
var degree = 'A';
  switch(degree){
    case 'A':
      document.write('优秀');
      break;
    case 'B':
      document.write('良好');
      break;
    default:
      document.write('合格');
  }

switch语句中每一个情形(case)的含义:"如果表达式等于这个值(value),则执行后面的语句(statement)".而break关键字会导致代码执行流跳出switch语句.如果省略break,会导致执行完当前case,继续执行下一个case.default关键字用于在表达式不匹配前面任何一种情况时候,执行机动代码.


循环语句

do-while 循环语句

do-while 语句是一种后测试循环语句,即在对表达式求值之前,循环体内的代码至少会被执行一次.

语法:  do {
          statement
       } while ( expression )

var i = 11 ;
do {
    document.write(i);
    i++;
} while ( i <= 10 )    //11

while 循环语句

while语句属于前测试循环语句,在循环体内的代码被执行之前,就会对出口条件求值,循环体内的代码可能永远不会被执行.

语法: while ( expression ) statement
      while( 表达式 ){ 语句 }
示例:
var i = 1 ;
while ( i <= 10 ) {
   document.write(i);
   i++;
}    //12345678910

for循环语句

for语句也是一种前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代码

语法:for( initialization; expression; post-loop-expression)statement
     for(初始化; 循环条件; 更新表达式){语句}    //中文解释
示例:
var count = 10 ;
  for(var i = 0; i

另外,for语句中的初始化表达式 控制表达式 循环后表达式都是可选的,这三个表达式全部省略,就会创建一个无限循环,

for( ; ;){        //无限循环
  dosomething();
}

break和continue语句

break和continue语句用于循环中准确控制代码的执行.其中,break语句会立即退出循环,强制执行循环后面的语句.而continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行.

var num = 0 ;
for(var i =0; i<10; i++){
  if(i%5 == 0) {
    break;
  }
  num++;
}
alert(num);    //4

结果4是次数,break语句的执行,导致了循环在num再次递增之前就退出了了.(跳出整个循环体)

var num = 0 ;
for(var i =0; i<10; i++){
  if(i%5 == 0) {
    continue;
  }
  num++;
}
alert(num);    //8

结果为8,说明执行了8次,当变量i=5时,循环会在num再次递增之前退出,但接下来执行下一次循环,即i=6的循环,于是,循环再次执行了(跳出一次循环体)


for - in语句

for-in语句是一种精准的迭代语句,可以用来枚举对象的属性.

语法:for(property in expression) statement
     for(属性名 in 对象) {语句}     //中文解释
示例:
var cat = {
  name:'kitty',
  age:2,
  mew : function () {
    console.log("喵喵喵")
   }
}
如果我们想把上面的对象的属性名都打印出来,可以用for-in语句:
for(var p in cat){
  document.write(p);
}        //name age mew

如果表示要迭代的对象的变量值为null和undefined,for-in会抛出错误,不过ECMAScript5更改了这一行为,不在抛出错误,只是不执行循环体,,所以建议使用for-in之前,确认对象的值是不是null或undefined


with语句

with语句的作用是将代码的作用域设置到一个特定的对象中.

语法:with(expression) statement
     with(表达式) {语句}     //中文解释
JS语句_第1张图片
with语句

定义with语句的目的是为了简化多次编写同一个对象的工作,严格模式下不允许使用with语句

由于大量使用with语句会导致性能下降,同时也会给调试代码造成困难,因此开发大型应用程序时,不建议使用with语句


异常捕获语句

try{
  语句
} catch (exception){
  语句
} finally{
  语句
}
demo:
 try{
    document.write(notDefined);
  }catch(error){
    console.log(error);
    alert(error);
  }finally{
    alert('finally');
  }  //notDefined变量未定义的,是错误的,会执行catch里面的语句.

如果try里语句执行出错的话,会到catch语句中在语句中可以对错误执行一些操作,不管try语句是否出错,都会执行finally语句.一般用于我们执行的代码不知道它是否出错,把它放到try catch语句中


语句的学习很简单,难得是实际应用,所以多练

你可能感兴趣的:(JS语句)