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<count; i++){
  alert(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(表达式) {语句}     //中文解释
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语句中


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • javascript程序就是一系列可执行语句的集合。(ps我看了全位置呢比js高级讲解的更加系统和详细,所以今天就...
    熊孩子CEO阅读 385评论 0 0
  • 作者的序言 朋友们,弃疗系列4出来啦,作者还并没有放弃,感觉自己萌萌哒,233。 语句 js程序其实就是一系列可执...
    zhaolion阅读 1,740评论 0 8
  • 条件语句 if(条件){语句1;}else{语句2;}条件为true,则取语句1,false则取语句2. var ...
    olivia1111阅读 319评论 0 0
  • “我的天空总是挂着......”我很喜欢的王菲的一首歌一响起,换脑子的初衷就被抹掉了,只能感觉到灰色重叠的憋闷感。...
    蛇神阅读 193评论 0 1
  • 静静手绘头像,不会让你失望的。你发自拍,我来画
    静静手绘阅读 183评论 3 6