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: ");
- Inner:
- for (var j = 21; j <= 30; j++) {
- if (j == 24) {
- continue Outer;
- }
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