javascript 03

1. 条件语句

根据条件结果去执行,符合条件就执行,不符合就不执行

1.1 if语句

1. if (条件){执行代码}

//实例:小时数大于6点就是早上好
        //(1)得到当前的小时数
        var h = new Date().getHours();
        // alert(h);
        // (2)判断是否大于6点
        /*  if (h >= 6) {
             alert("早上好");
         } */

注释:先执行条件判断,条件判断为true是执行代码,否则什么都不干。【只选对的】

2. if(条件){执行代码1}else{执行代码2}

/*   if (h > 12) {
              alert("下午好");
          } else {
              alert("早上好");
          } */

注释:先执行条件判断,条件判断为true是执行代码1,否则执行代码2。【2选1】

3. if(条件1){执行代码1}else if(条件2){执行代码2}......

if (h >= 6 && h < 11) {
            alert("上午好");
        } else if (h >= 11 && h < 13) {
            alert("中午好");
        } else if (h >= 13 && h <= 18) {
            alert("下午好")
        } else {
            alert("晚上好");
        }

注释:先执行条件1判断,条件1判断为true是执行代码1,否则执行条件2判断,条件2判断为true是执行代码2......【多选1】

4.if语句的嵌套

1.2 switch语句

/*  格式:   switch (条件) {
                  case 常量1: 执行代码块 1;[break;]
                  case 常量2: 执行代码块 2;[break;]
                    .....
                  case 常量n: 执行代码块 n;[break;]
                   default: 剩下的
        } *

注释:先条件,条件与常量1比较,相等执行常量1关联的的代码块 1,

不相等,条件与常量2比较,相等执行常量2关联的的代码块 2,

.....

都不相等,执行剩下的

注意:常量关联的的代码块后面有没有break,有就执行结束

没有就忽略比较,执行常量关联的的代码块,追到碰见break

//实例:击下面的按钮来显示今天是周几
        function getDay() {
            // 1. 得到星期几的具体数据值
            var day = new Date().getDay();
            //  2. 通过switch 语句判断
            switch (day) {
                case 1: alert("今天星期一"); break;
                case 2: alert("今天星期二"); break;
                case 3: alert("今天星期三"); break;
                case 4: alert("今天星期四"); break;
                case 5: alert("今天星期五"); break;
                case 6: alert("今天星期六"); break;
                default: alert("今天星期天"); break;
            }
        }
 <input type="button" value="显示今天是星期几" onclick="getDay()" ;>

2. 循环语句

2.1 for - 循环代码块一定的次数

/*  格式: for(语句1;语句2;语句3){
             被执行的代码块
         } */

注释:语句 1--初始条件

语句 2--判断条件

语句 3--循环增量/减量 【控制初始条件值】

先执行初始条件,后执行判断条件,

判断条件true执行 被执行的代码块 执行,执行循环增量/减量,继续执行判断条件

判断条件false结束

 //实例1:循环输出1-10的整数 
        /*  for (var i = 1; i <= 10; i++) {
             alert(i);
         }
  */
        // 实例2:循环输出10 - 1的整数
        /*   for (var i = 10; i >= 1; i--) {
              alert(i);
          } */

遍历数组-- - 将数组中的数据值逐个取出--数组名称[下标]--从0开始

// 1. 准备数组
        var arr = ["zhangsan", "lisi", "wangwu"];
        // 2.for 循环遍历数组
        for (var i = 0; i < arr.length; i++) {
            alert(arr[i]);
        }  //数组的 length属性--得到数组中的元素个数(数组名称.length)
            //数组名称[下标]得到数组值

2.2 for/in - 循环遍历对象的属性名称/遍历数组

(1) for/in---遍历数组得到数组下标、数组值

 /*   格式: for (var 变量 in 数组) {
          } */
/*  实例:
         var arr = ["zhangsan", "lisi", "wangwu"];
          for (var index in arr) {
                      //alert(index);  index变量保存的是数组下标
                     alert(arr[index]);   数组中取出来的数据值
                 }
          */

(2) for/in---遍历对象的属性名称

/*   格式: for (var 变量 in 对象) {
           } */
/*  //实例:
         var obj = { name: "zhangsan", age: 23, address: "西安" };
         for (var myname in obj) {
             alert(myname); myname变量保存的是属性名称
         }
  */

(3) forEach(function(index,element){ });

forEach(function(index,element){ }); 是个方法,适用数组,不适用对象

//实例:
        /*  var arr = ["zhangsan", "lisi", "wangwu"];
         arr.forEach(function (index, element) {
             //alert(element); //得到下标
             alert(index); //得到数组中的数据值
         }); */

2.3. while 

while - 当指定的条件为 true 时循环指定的代码块

/*   格式: while (判断条件) {
              被循环执行的代码
          } */

注释:先执行判断条件,true--执行{被循环执行的代码}--判断条件

                                       false---结束循环

与for循环比较,没有初始条件,和循环增量/减量条件

(1)初始条件需要在循环结构之外手动定义

(2)循环增量/减量条件需要在循环结构中手动定义

  /* //实例:循环输出1-10的整数
       var i = 1; //初始条件
        while (i <= 10) {
            alert(i);
            i++;  //循环增量
        }
 */

2.4. do/while

do/while - 同样当指定的条件为 true 时循环指定的代码块

 /*   格式: do {
               被循环执行的代码
           } while (判断条件) ;
    */

注释:先执行被循环执行的代码,再执行判断条件

          true--执行{被循环执行的代码}--判断条件

false---结束循环

与for循环比较,没有初始条件,和循环增量/减量条件

     (1)初始条件需要在循环结构之外手动定义

    (2)循环增量/减量条件需要在循环结构中手动定义

//实例:循环输出10-1的整数
        /*  var i = 10;
         do {
             alert(i);
             i--;
         } while (i >= 1); */

与while循环比较:

while---先判断后循环

do...while---先循环后判断

初始判断条件为false时,do...while比while多执行一次

 /*  while (false) {
             alert("while循环");
         }  不会执行 */
/*   do {
              alert("do...while循环");
          } while (flase)  执行1次 */

明确知道自己需要循环多少次的时候使用for循环

不知道需要循环多少次的时候使用while循环/do...while()

3. break 和 continue 语句

break---中断 语句用于跳出/结束循环、switch语句中结束switch。

switch语句中出现break时,忽略比较,执行常量关联的的代码块

 for (var i = 1; i <= 10; i++) {
            alert(i);
            if (i == 5) {
                break;
            }
        }

continue -- 继续--循环中,结束当前,进入下次

for (var i = 1; i <= 10; i++) {
            if (i == 5) {
                continue;
            }
            alert(i);
        }

4. JavaScript 错误处理

程序出现错误是正常现象,就像人会生病

try和catch

/*   语法格式:
          try {
          ...//异常的抛出
          } catch (e) {
          ...//异常的捕获与处理
          } finally {
          ...//结果处理
          } */

注释:try{}---包围可能出现错误的代码

         catch(e) {}--e[错误对象]/{}--捕获与处理错误

       finally{}--一般出现在catch(e){}后面,有误错误都执行,也可以不用写

  function testError() {
            try {
                var str = "try 和 catch";
                updateButton(str);
            } catch (eobj) {
                alert(eobj.name); //ReferenceError
                alert(eobj.message); //updateButton is not defined
            } finally {
                alert("有无错误都执行");
            }
        }
<input type="button" value="测试try 和 catch finally" onclick="testError();" />

5. throw语句

throw 语句允许我们创建自定义错误,并抛出

在某些情况下出现错误比不出现错误更好

function createArray(size) {
            try {
                if (size < 0) {
                    throw "数组大小不能为负数";
                } else {
                    var arr = new Array(size);
                    alert(arr.length);
                }
            } catch (eobj) {
                alert(eobj);
            }
        }
 <input type="button" value="创建数组" onclick="createArray(-5);" />

6. href="#"与href="javascript:void(0)"的区别

包含了一个位置信息,默认的锚是#top 也就是网页的上端。

而javascript:void(0), 仅仅表示一个死链接。

在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。

如果你要定义一个死链接请使用 javascript:void(0) 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值