JavaScript 学习笔记之语句


Posted in Javascript onJanuary 14, 2015

一、条件分支语句:if

基本格式:

if (<表达式1>){
    <语句组1>
}else if (<表达式2>){
    <语句组2>
}else{
    <语句组3>
}

执行流程:

JavaScript 学习笔记之语句

二、循环语句

2.1前测试循环语句:在循环体内的代码被执行之前就对出口条件求值。

2.1.1while语句

基本格式:

do {
    <语句组>
} while (<表达式>)

执行流程:

JavaScript 学习笔记之语句 2.1.2 for语句

基本格式:
for (<初始表达式>;<条件表达式>;<变动量表达式>){
    <语句组>
}

执行流程:
 JavaScript 学习笔记之语句

2.2后测试循环语句:在循环体中的代码被执行之后才会测试出口条件。

2.2.1、do-while语句

基本格式:

do {
    <语句组>
} while (<表达式>) ;

执行流程:

JavaScript 学习笔记之语句

三、精准的迭代语句:for-in

基本格式:
for ( 属性 in 对象 ){
    <语句组>
}

作用:重复执行指定对象的所有属性,可以用来枚举对象的属性。

 例子:

<html>

<body>

<p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>

<button onclick="myFunction()">点击这里</button>

<p id="demo"></p>

<script>

function myFunction()

{

var x;

var txt="";

var person={fname:"Bill",lname:"Gates",age:56}; 

for (x in person)

{

txt=txt + person[x];

}

document.getElementById("demo").innerHTML=txt;

}

</script>

</body>

</html>

如果要表示的对象为null或者undefined,循环体将不再执行,或者抛出错误,因此,在执行for-in循环时,应该先检测改对象的属性值是不是null或者undefined。

四、Lable语句

基本语法:

Label: <语句组>

如: begin: for (var i = 0; i < 10 ; i++ ){
                         alert(i);
                   }
举例说明lable语句的作用:
未加lable:

var num = 0;

        for (var i = 0 ; i < 10 ; i++){

             for (var j = 0 ; j < 10 ; j++){

                  if( i == 5 && j == 5 ){

                        break;

                  }

             num++;

             }

        }

        alert(num);//95

加入lable:

var num = 0;

    outPoint:

    for (var i = 0 ; i < 10 ; i++){

         for (var j = 0 ; j < 10 ; j++){

              if( i == 5 && j == 5 ){

                    break outPoint;

              }

         num++;

         }

    }

    alert(num); //55

第一个例子输出95不难理解,第二个例子为什么输出55呢,是因为执行到break outpoint时,直接跳出到putpoint层,执行alert语句。

如果把第二个例子改成下面这样:

                var num = 0;

                 for (var i = 0 ; i < 10 ; i++){

                     outPoint: 

                     for (var j = 0 ; j < 10 ; j++){

                         if( i == 5 && j == 5 ){

                             break  outPoint;

                         }

                         num++;

                     }

                 };

         alert(num);//95

这个结果和第一个例子的结果是一致的。

五、break和continue语句

5.1break语句:

       var num = 0;

        for (var i = 1 ; i < 10 ; i++){

            if(i%5==0){

                break;

            }

            num++;

        };

        alert(num);//4

break语句执行后跳到alert语句

5.2continue语句:

  var num = 0;

  for (var i = 1 ; i < 10 ; i++){

     if(i%5==0){

        continue;

     }

       num++;

   };

   alert(num);//8

continue语句执行后跳到for()循环,继续执行循环,直到循环条件不成立。

六、with语句

基本语法:

with (object) {
    statements
}
举例说明:
不使用with的写法:

var qs = location.search.substring(1);

var hostName = location.hostname;      

var url = location.href;

 alert(qs);

 alert(hostName);

 alert(url);

使用with的写法:

  with(location){

             var qs = search.substring(1);

             var hostName = hostname;      

             var url = href;

         }

         alert(qs);

         alert(hostName);

         alert(url);

从上面例子可以看出:with语句的作用是将代码的作用域设置到一个特定的对象中、减少的重复输入。

但是js的解释器需要检查with块中的变量是否属于with包含的对象,这将使with语句执行速度大大下降,并且导致js语句很难被优化。

因此并不建议大规模使用with语句。

七、swith语句

基本语法:
switch (<表达式>) {
    case <数值1>:<语句组1>
                 break;
    case <数值2>:<语句组2>
                 break;
    ...
    default <语句组>
}

执行流程:

JavaScript 学习笔记之语句

switch语句可以是任何数据类型,每个case的值也不一定是常量,也可以是变量、表达式等,例如:

  switch ("hello world") {

             case "hello" + " world": 

                 alert("Greeting was found.");

                 break;

             case "goodbye": 

                 alert("Closing was found.");

                 break;

             default: 

                 alert("Unexpected message was found.");

         }
         var num = 25;

         switch (true) {

             case num < 0: 

                 alert("Less than 0.");

                 break;

             case num >= 0 && num <= 10: 

                 alert("Between 0 and 10.");

                 break;

             case num > 10 && num <= 20: 

                 alert("Between 10 and 20.");

                 break;

             default: 

                 alert("More than 20.");

         }

switch语句在比较时使用的是全等操作符比较,因此不会发生类型转换。

练习:

 <script type="text/javascript">

         var count = 10;

         for (var i=0; i < count; i++){

             alert(i);

         }

         alert(i);   //输出什么?

     </script>

for(;;){
    alert("2");//输出多少次2?
}

以上就是本文的全部内容了,希望对小伙伴们能够有所帮助。

Javascript 相关文章推荐
半角全角相互转换的js函数
Oct 16 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
Dec 30 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
如何使用Bootstrap创建表单
Mar 29 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
详解Angular2 之 结构型指令
Jun 21 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
JavaScript 学习笔记之操作符(续)
Jan 14 #Javascript
JavaScript 学习笔记之操作符
Jan 14 #Javascript
Node.js的包详细介绍
Jan 14 #Javascript
JavaScript 学习笔记之数据类型
Jan 14 #Javascript
ExpressJS入门实例
Jan 14 #Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 #Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 #Javascript
You might like
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
PHP cdata 处理(详细介绍)
2013/07/05 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
python函数的5种参数详解
2017/02/24 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python序列类型的打包和解包实例
2019/12/21 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Java里面有没有全局变量?为什么?
2015/02/06 面试题
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
工商学院毕业生自荐信
2013/11/12 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
共产党员承诺书
2014/03/25 职场文书
三字经教学反思
2014/04/26 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP