• js的学习 (语句)


    1.for/in

    语法如下:

    for(variable in object)

      statement

    variable通常是一个变量名,也可以是一个可以产生左值的表达式或者一个通过var语句声明的变量,总之必须是一个适用于赋值表达式左侧的值。object是一个表达式,这个表达式的计算结果是一个对象。

    执行for in语句的过程中,JS会先计算object表达式的值。

    如果object是一个对象,JS会依次枚举对象的属性来执行循环。在每次循环之前,JS会先计算variable表达式的值,并将属性名(一个字符串)赋值给它。

    如果表达式为null或者undefined,JS解释器会跳过循环并执行后续的代码。

    variable的值可以当做赋值表达式的左值,它可以是任意表达式,每次循环都会计算这个表达式。例如,可以使用下面这段代码将所有对象的属性复制到一个数组中。

    1 var p = {x:1, y:2, z:3};
    2 var a = [], i = 0;
    3 for(a[i++] in p); <!-- empty -->
    4 for(i in a)
    5     console.log(i,a[i])

    2.标签语句

    语句是可以添加标签的,标签是由语句前的标识符和冒号组成:

    identifier:statement

    mainloop:while(token!=null){

      continue mainloop;//跳转到下一次循环

    }

    通过给语句定义标签,就可以在程序的任何地方通过标签名引用这条语句。

    break和continue是JavaScript中唯一可以使用语句标签的语句。

    任何语句可以有很多个标签。

    3.try/catch

    在没有catch从句的情况下,try从句可以和finally从句一起使用。

    我们无法完全精确地使用while循环来模拟for循环,因为continue语句在两个循环中的行为表现不一致。如果使用try/finally语句,就能使用while循环来正确模拟包含continue的for循环。

    1 //模拟for(initialize;test;increment)body;
    2 initialize;
    3 while(test){
    4     try{body;}
    5     finally{increment;}     
    6 }

    需要注意的是,当body包含break语句时,while循环和for循环便有了更微妙的区别(造成了一次额外的自增运算)。

    4.with语句

    with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。

    语法格式  
    with(object instance)  
    {  
            //代码块  
    }  
           有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现:  
    with(objInstance)  
    {  
           var str = 属性1;  
    .....  
    } 去除了多次写对象名的麻烦。

     1 <script language="javascript">  
     2 <!--  
     3 function Lakers() {  
     4        this.name = "kobe bryant";  
     5        this.age = "28";  
     6        this.gender = "boy";  
     7 }  
     8 var people=new Lakers();  
     9 with(people)  
    10 {  
    11        var str = "姓名: " + name + "<br>";  
    12        str += "年龄:" + age + "<br>";  
    13        str += "性别:" + gender;  
    14        document.write(str);  
    15 }  
    16 //-->  
    17 </script>  

    代码执行效果如下:  
    姓名: kobe bryant  
    年龄:28  
    性别:boy

  • 相关阅读:
    .NET CF 枚举设备窗口
    .NET CF WM设备(手机)振动
    如何将 byte[] 转换为 IntPtr?
    Mobile 重启设备
    如何删除只读文件?
    随笔
    故乡的原风景
    岁月神偷
    opengl纹理映射
    bootstrap 学习笔记
  • 原文地址:https://www.cnblogs.com/fjl-vxee/p/6817917.html
Copyright © 2020-2023  润新知