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 相关文章推荐
HTML中事件触发列表与解说
Jul 09 Javascript
Jquery ui css framework
Jun 28 Javascript
JS.findElementById()使用介绍
Sep 21 Javascript
Extjs4中Form的使用之本地hiddenfield
Nov 26 Javascript
javascript数字时钟示例分享
Apr 23 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
Jun 07 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
浅析我对JS延迟异步脚本的思考
Oct 12 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
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
php按单词截取字符串的方法
2015/04/07 PHP
PHP处理会话函数大总结
2015/08/05 PHP
cakephp常见知识点汇总
2017/02/24 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Python加速程序运行的方法
2020/07/29 Python
Python高并发和多线程有什么关系
2020/11/14 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
关于安全的演讲稿
2014/05/09 职场文书
个人汇报材料范文
2014/12/30 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
队列队形口号
2015/12/25 职场文书
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技