详细介绍JS两种语法使用说明

开发
在JS两种语法中,首先碰到的就是环境的配置。以前学的Visual Studio2003,但并没有怎么用。所以有一个星期的时间基本是在用实践着.net 1.0,不知道Gates知道了,会不会有点郁闷。

后面跟任意的表达式,JS两种语法有明显不同。匹配时会先计算case后面的表达式再匹配。匹配时用的是 === 符号,而不是 == 符号,所以匹配过程不允许任何类型转换,default 放在最后只是逻辑上的需求,而它可以放在 switch 内的任何地方。

var x = 1;  
        switch (x + 1) {  
            case '2':  
                alert('string:2');  
                break;  
            default:  
                alert('default');  
                break;  
            case 1 + 1:  
                alert('number:2');  
                break;  
        }  
        // result:  
        // 'number:2' 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

语法:for(variable in object)
其中 variable  允许任意的表达式,只要计算结果能作为赋值表达式的左侧,迭代对象属性名时并不保证任何特殊的迭代顺序,它也只迭代用户自定义的属性,而预定义的属性和方法是不会迭代的(比如:Math 的 cos 属性)数组本身是一种特殊的对象,当JS两种语法应用于数组时,迭代的是数组的索引。

// 将对象 obj 的属性名复制到数组中  
        var obj =  
        {  
            x: 1,  
            y: new Date(),  
            z: function() { }  
        }  
        var arr = new Array();  
        var i = 0;  
        for (arr[i++] in obj);  
        alert(arr[0]);// 'x'  
        alert(arr[1]);// 'y'  
        alert(arr[2]);// 'z' 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

当解析器遇到方法定义时,解析器对其进行解析并存储在一个以方法名命名的对象属性中。JS两种语法当这个方法是内嵌在其他方法中时,这个属性是 call 对象的属性(每个方法里都有一个call对象。

var i = 1;  
       single:  
       {  
           if (i == 1)  
               break single;  
           i++;  
       }  
       alert(i);  
       out:  
       while (i == 1 || i == 3) {  
           while (true) {  
               i++;  
               alert(i);  
               if (i == 2) {  
                   continue;  
               }  
               else {  
                   continue out;  
               }  
           }  
           i++;  
           alert(i);  
       }  
       alert(i);  
       // result: 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

而方法里的局部变量或内嵌方法均存储于此对象属性中),JS两种语法否则是全局对象的属性,方法和变量是在不同时间被解析定义的,方法是在解析的时候被定义的,而变量是在运行的时候被定义的。

责任编辑:chenqingxiang 来源: 博客园
相关推荐

2009-12-31 09:42:41

ADO对象模型

2009-12-18 15:11:50

ADO.NET类

2010-02-22 16:16:14

Python语法

2010-02-01 10:22:51

C++数据指针

2010-05-27 14:02:04

SVN使用说明

2020-06-28 09:03:26

Linuxtree命令目录

2011-06-15 13:07:10

JSP和JavaBea

2010-02-24 14:25:48

WCF地址

2009-12-29 14:28:58

ADO数据

2010-01-13 09:48:34

Boost库

2010-01-06 15:29:13

.NET Framew

2009-11-11 16:36:19

路由协议介绍

2009-10-27 09:49:38

无线接入技术

2010-01-07 18:19:01

JSON异步

2010-01-05 15:48:51

JQuery缓存

2010-01-08 09:03:38

返回JSON数据

2010-01-05 17:23:51

JSON建构

2010-01-08 14:27:45

JSON 帮助

2009-12-07 13:42:24

WCF框架

2010-05-26 18:20:59

SVN库
点赞
收藏

51CTO技术栈公众号