码农武:JavaScript基础语法

1.条件语句(if-else)

通常在写代码时,您总是需要为不同的决定来执行不同的动作。因此你需要利用条件语句来使你的程序做出正确决定并且执行正确的动作。

JavaScript 支持的条件语句用于基于不同的条件来执行不同的动作。

JavaScript 支持如下形式的if-else 语句:
  • if statement

  • if...else statement

  • if...else if... statement

1)if语句

if语句是基本控制语句,能使JavaScript做出决定并且按条件执行语句

语法如下:

if (expression){
    Statement(s) to be executed if expression is
    true
}

这里JavaScript expression是需要判断的。如果返回值是true,执行给定的statement(s)。如果表达式的值是false,不会执行任何语句。多数情况下,你可能会用比较运算符来做决定。

例子:

var age = 20;
if ( age > 18 ){
    document.write("<b>Qualifies for driving</b>");
}//Qualifies for driving
2) if...else 语句

if...else 语句是另一种控制语句,它能使 JavaScript 选择多个代码块之一来执行。

语法:

if  (expression){
    Statement(s)    to  be  executed    if  expression  is
    true
}else{
    Statement(s)    to  be  executed    if  expression  is
    false
}

这里 JavaScript expression 是需要判断的。如果返回值是 true,执行if 代码块给定的statement(s)。如果表达式的值是 false ,则执行else 代码块给定的statement(s)。

例子:

var age = 15;
if(age > 18){
    document.write("<b>Qualifies    for driving</b>");
}else{
    document.write("<b>Does not qualify for driving</b">
}//Does not qualify for driving
3) if...else if...语句

if...else if... 语句是一种推进形式的控制语句, 它能使JavaScript 选择多个代码块之一来执行。

语法:

if  (expression 1){
    Statement(s) to be  executed if expression  1
    is true
}else if (expression 2){
    Statement(s) to be  executed if expression  2
    is true
}else if (expression 3){
    Statement(s) to be  executed if expression  3
    is true
}else{
    Statement(s) to be  executed if no  expression
    is true
}

这段代码没什么特别的地方。它就是一系列 if 语句,只是每个 if 语句是前一个 else 语句的一部分。语句根据正确的条件被执行,如果不满足任何一个条件则执行 else 代码块。

例子:

var book = "maths";
if(book == "history"){
    document.write("<b>History Book</b>");
}else if(book=="maths"){
    document.write("<b>Maths Book</b>");
}else if(book=="economics"){
    document.write("<b>Economics Book</b>");
}else{
    document.write("<b>Unknown Book</b>");
}//Maths    Book

2.条件语句(switch-case)

你可以像前面章节那样用多个 if…else if 语句来执行多个代码块。然而,这不是最佳解决方案,尤其是当所有代码块的执行依赖于单个变量值时。

从 JavaScript 1.2 开始,你可以使用一个 switch 语句来处理上面提到的问题,而且这样做的效率远高于重复使用if…else if 语句。

语法:

switch 语句的基本语法是给定一个判断表达式以及若干不同语句, 根据表达式的值来执行这些语句。编译器检查每个case 是否与表达式的值相匹配。如果没有与值相匹配的,则执行缺省条件。

switch  (expression){
​
    case    condition   1:  statement(s)    break; 
    case    condition   2:  statement(s)    break;
    ...
    case    condition   n:  statement(s)    break; 
    default:    statement(s)
}

break 语句用于在特殊case 的最后终止程序。如果省略掉 break,编译器将继续执行下面每个case 里的语句。

工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个case 运行。default 关键词来规定匹配不存在时做的事情;相当于if 里的else。

我们将在循环控制那一章节里继续讨论break 语句。

var grade='A';
document.write("Entering switch block<br/>");
switch (grade){
        case'A':
            document.write("Good Job<br/>");
        break;
        case'B':
            document.write("Pretty good<br/>");
        break;
        case'C':
            document.write("Passed<br/>");
        break;
        case'D':
            document.write("Not so good<br/>");
        break;
        case'F':
            document.write("Failed<br/>");
        break;
    default:
        document.write("Unknown grade<br/>")
}
    document.write("Exiting switch  block");
//  Entering    switch  block
//  Good    job
//  Exiting switch  block

看一下没用break语句的情况:

var grade='A';
document.write("Entering    switch  block<br/>");
switch (grade){
    case'A':
        document.write("Good    job<br/>");
    case'B':
        document.write("Pretty  good<br/>");
    case'C':
        document.write("Passed<br/>");
    case'D':
        document.write("Not so  good<br/>");
    case'F':
        document.write("Failed<br/>");
    default:
        document.write("Unknown grade<br/>")
}
document.write("Exiting switch  block");
//  Entering    switch  block
//  Good    job
//  Pretty  good
//  Passed
//  Not so  good
//  Failed
//  Unknown grade
//  Exiting switch  block

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农武

请付给老农种子化肥钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值