JavaScript不一样的语法

JavaScript除了面向对象的部分,基本语法和C语言类似,但是也有一些自己的特别之处,现总结如下:

(1)break和continue后面可以跟label

语法:
break labelname;
continue labelname;
 
  • 带有或不带标签引用的continue 语句只能用在循环中

不带label,continue作用于最近的循环,带label就可以作用到外层循环,这是C语言里面无法做到的。

例如:

Outer:

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

    document.write ("<br />");

    document.write ("i: " + i);

    document.write (" j: ");

      1.     Inner:
  1.     for (var j = 21; j <= 30; j++) {
  2.         if (j == 24) {
  3.             continue Outer;
  4.         }

        document.write (j + " ");

    }

}

 

Output:

i: 1 j: 21 22 23
i: 2 j: 21 22 23
i: 3 j: 21 22 23
i: 4 j: 21 22 23
i: 5 j: 21 22 23
i: 6 j: 21 22 23
i: 7 j: 21 22 23
i: 8 j: 21 22 23
i: 9 j: 21 22 23
i: 10 j: 21 22 23

     

  • 不带标签引用的break 语句,只能用在循环或 switch 中;通过标签引用,break 语句可用于跳出任何JavaScript 代码块

带上标签后,可以改变break作用的语句,而且除了循环和switch,还可以用在语句块上。

循环的例子:

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); // 循环在 i 为5,j 为5的时候跳出双循环,返回到outPoint层继续执行,输出 55

 

代码块的例子:

cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "<br>");
document.write(cars[1] + "<br>");
document.write(cars[2] + "<br>");
break list;
document.write(cars[3] + "<br>");
document.write(cars[4] + "<br>");
document.write(cars[5] + "<br>");
}
 
Output:

BMW
Volvo
Saab

 

(2)向未声明的JavaScript 变量来分配值将使其自动作为全局变量

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

 

(3)全等操作符

===

例如:

var x = 5;
x===5 为 true;x==="5" 为 false

posted @ 2013-06-26 10:55  不言放弃  阅读(501)  评论(0编辑  收藏  举报