zoukankan      html  css  js  c++  java
  • js学习第3天 Crazy

     JavaScript 基本编程命令


     

    1. 注释 (注释只给程序员提供消息。)
    • 单行注释用双反斜杠“//”表示。当一行代码有“//”,那么,“//”后面的部分将被忽略。
    • 而多行注释是用“/*”和“*/”括起来的一行到多行文字。程序执行到“/*”处,将忽略以后的所有文字,直到出现“*/”为止。

         2.if 语句

    if ( <条件> ) <语句1> [ else <语句2> ];

    本语句有点象条件表达式“?:”:当<条件>为真时执行<语句1>,否则,如果 else 部分存在的话,就执行<语句2>。与“?:”不同的是,if 只是一条语句,不会返回数值。<条件>是布尔值,必须用小括号括起来;<语句1>和<语句2>都只能是一个语句,欲使用多条语句,请用语句块。
    注意 请看下例:

    if (a == 1)
      if (b == 0) alert(a+b);
    else
      alert(a-b);

    本代码企图用缩进的方法说明 else 是对应 if (a == 1) 的,但是实际上,由于 else 与 if (b == 0) 最相近,本代码不能按作者的想法运行。正确的代码是

    if (a == 1) {
      if (b == 0) alert(a+b);
    } else {
      alert(a-b);
    }

    提示 一行代码太长,或者涉及到比较复杂的嵌套,可以考虑用多行文本,如上例,if (a == 1) 后面没有立即写上语句,而是换一行再继续写。浏览器不会混淆的,当它们读完一行,发现是一句未完成语句,它们会继续往下读。使用缩进也是很好的习惯,当一些语句与上面的一两句语句有从属关系时,使用缩进能使程序更易读,方便程序员进行编写或修改工作。

         3.循环体

    for (<变量>=<初始值>; <循环条件>; <变量累加方法>) <语句>;

    本语句的作用是重复执行<语句>,直到<循环条件>为 false 为止。它是这样运作的:首先给<变量>赋<初始值>,然后*判断<循环条件>(应该是一个关于<变量>的条件表达式)是否成立,如果成立就执行<语句>,然后按<变量累加方法>对<变量>作累加,回到“*”处重复,如果不成立就退出循环。这叫做“for循环”。下面看看例子。

    for (i = 1; i < 10; i++) document.write(i);

    本语句先给 i 赋初始值 1,然后执行 document.write(i)语句(作用是在文档中写 i 的值);重复时 i++,也就是把 i 加 1;循环直到 i<10 不满足,也就是 i>=10 时结束。结果是在文档中输出了

    “123456789”

    和 if 语句一样,<语句>只能是一行语句,如果想用多条语句,你需要用语句块。

    与其他语言不同,JavaScript 的 for 循环没有规定循环变量每次循环一定要加一或减一,<变量累加方法>可以是任意的赋值表达式,如 i+=3、i*=2、i-=j 等都成立。

    提示 适当的使用 for 循环,能使 HTML 文档中大量的有规律重复的部分简化,也就是用 for 循环重复写一些 HTML 代码,达到提高网页下载速度的目的。不过请在 Netscape 中重复进行严格测试,保证通过了才好把网页传上去。作者曾试过多次因为用 for 循环向文档重复写 HTML 代码而导致 Netscape“猝死”。IE 中绝对没有这种事情发生,如果你的网页只给 IE 看的,用多多的 for 也没问题。

    除了 for 循环,JavaScript 还提供 while 循环。

    while (<循环条件>) <语句>;

    比 for 循环简单,while 循环的作用是当满足<循环条件>时执行<语句>。while 循环的累加性质没有 for 循环强。<语句>也只能是一条语句,但是一般情况下都使用语句块,因为除了要重复执行某些语句之外,还需要一些能变动<循环条件>所涉及的变量的值的语句,否则一但踏入此循环,就会因为条件总是满足而一直困在循环里面,不能出来。这种情况,我们习惯称之为“死循环”。死循环会弄停当时正在运行的代码、正在下载的文档,和占用很大的内存,很可能造成死机,应该尽最大的努力避免。

    break continue

    有时候在循环体内,需要立即跳出循环或跳过循环体内其余代码而进行下一次循环。break 和 continue 帮了我们大忙。

    break;

    本语句放在循环体内,作用是立即跳出循环。

    continue;

    本语句放在循环体内,作用是中止本次循环,并执行下一次循环。如果循环的条件已经不符合,就跳出循环。

    for (i = 1; i < 10; i++) {
      if (i == 3 || i == 5 || i == 8) continue;
      document.write(i);
    }
    
    输出:124679。

    switch 语句

    如果要把某些数据分类,例如,要把学生的成绩按优、良、中、差分类,我们可能会用 if 语句:

    if (score >= 0 && score < 60) {
      result = 'fail';
    } else if (score < 80) {
      result = 'pass';
    } else if (score < 90) {
      result = 'good';
    } else if (score <= 100) {
      result = 'excellent';
    } else {
      result = 'error';
    }

    看起来没有问题,但使用太多的 if 语句的话,程序看起来有点乱。switch 语句就是解决这种问题的最好方法。

    switch (e) {
      case r1: (注意:冒号)
        ...
        [break;]
      case r2:
        ...
        [break;]
      ...
      [default:
        ...]
    } 

    这一大段的作用是:计算 e 的值(e 为表达式),然后跟下边“case”后的 r1、r2……比较,当找到一个相等于 e 的值时,就执行该“case”后的语句,直到遇到 break 语句或 switch 段落结束(“}”)。如果没有一个值与 e 匹配,那么就执行“default:”后边的语句,如果没有 default 块,switch 语句结束。

    上边的 if 段用 switch 改写就是:

    switch (parseInt(score / 10)) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        result = 'fail';
        break;
      case 6:
      case 7:
        result = 'pass';
        break;
      case 8:
        result = 'good';
        break;
      case 9:
        result = 'excellent';
        break;
      default:
        if (score == 100)
          result = 'excellent';
        else
          result = 'error';
    }

    其中 parseInt()方法是以后会介绍的,作用是取整。最后 default 段用的 if 语句,是为了不把 100 分当错误论(parseInt(100 / 10) == 10)。

  • 相关阅读:
    ASP.NET Web API 控制器执行过程(一)
    ASP.NET Web API 控制器创建过程(二)
    ASP.NET Web API 控制器创建过程(一)
    ASP.NET Web API WebHost宿主环境中管道、路由
    ASP.NET Web API Selfhost宿主环境中管道、路由
    ASP.NET Web API 管道模型
    ASP.NET Web API 路由对象介绍
    ASP.NET Web API 开篇示例介绍
    ASP.NET MVC 视图(五)
    ASP.NET MVC 视图(四)
  • 原文地址:https://www.cnblogs.com/flyscan/p/2550334.html
Copyright © 2011-2022 走看看