• 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)。

  • 相关阅读:
    机器学习系列丛书
    Growing Pains for Deep Learning
    What qualities characterize a great PhD student
    PHP中$_SERVER的具体參数与说明
    JavaScript总结(二) 系统分析
    .net中将DataTable导出到word、Excel、txt、htm的方法
    World Wind Java开发之十五——载入三维模型
    插入排序:二路插入
    使用HashMap对象传递url參数有用工具类
    mini2440裸机试炼之——DMA直接存取 实现Uart(串口)通信
  • 原文地址:https://www.cnblogs.com/flyscan/p/2550334.html
Copyright © 2020-2023  润新知