JavaScript语句与函数

一、if语句

示例:

if (i > 25) {
    alert("true");
} else {
    alert("false");
}

if后面的括号里面可以是任意表达式,JS会自动调用Boolean()将表达式的结果转换为一个布尔值。如果结果是true,就执行第一条语句,如果为假,就执行第二条语句。

 

二、do-while语句

示例:

var i = 0;
do {
    i += 2;
} while (i < 10);

alert(i);

先执行循环,再测试条件。所以循环至少被执行一次。

三、while语句

示例:

var i = 0;
while (i < 10) {
    i += 2;
}

先测试条件,再执行循环。

四、for语句

示例:

for count = 10;
for (var i = 0; i < count; i++){
    alert(i);
}

五、for-in语句

示例:

for (var propName in window) {
    document.wirte(propName);
}

在使用for-in循环之前,先检测确认该对象的值不是null或undefined。

六、label语句

示例:

start: for (var i=0; i < count; i++){
    alert(i);
}

这个例子中定义的start标签可以由break或continue语句引用。加标签的语句一般都要与for语句等循环语句配合使用。

七、break和continue语句

  • 在单层循环情况下,使用break语句会退出循环,使用continue语句会退出当前循环,然后执行下一轮循环。
  • 在多层循环情况下,

break和continue语句与label语句联合使用,可以精确控制循环语句执行。
break语句示例:

var num = 0;
start:
for (var i=0; i < 10; i++) {
    for (var j=0; j < 10; j++) {
        if (i == 5 && j == 5) {
            break start; //这里在内层循环使用break语句,那么程序既会退出内层循环,也会退出外部循环。
        }
    }
    num++;
}

alert(num); //55

continue语句示例:

var num = 0;
start:
for (var i=0; i < 10; i++) {
    for (var j=0; j < 10; j++) {
        if (i == 5 && j == 5) {
            continue start; //这里在内层循环使用continue语句,那么程序只会退出内层循环,但是会继续执行外部循环。
        }
    }
    num++;
}

alert(num); //55

八、with语句

with语句的作用很简单,可以将针对一个特定对象的代码放到一个代码块中,简化了代码,并且使得代码更好理解。
比如:

var gs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;

以上代码可以简化为:

with(location){
    var qs = search.substring(1);
    var hostName = hostname;
    var url = href;
}

缺点:由于大量使用with语句会导致性能下降,同时也会给调试代码造成困难,因此在开发大型应用程序时,不建议使用with语句。

九、switch语句

switch (i) {
    case 25:
        alert("25");
        break;
    case 35:
        alert("35");
        break;
    case 45:
        alert("45");
        break;
    default:
        alert("Other");
}

通过为每个case后面都添加一个break语句,就可以避免同时执行多个case代码的情况。假如是确实需要混合几种情形,不要忘了在代码中添加注释,说明你是有意省略了break关键字。
JavaScript的switch语句很有特色,可以在switch语句中使用任何数据类型,另外,每个case的值也不一定是常量,也可以是变量,甚至是表达式。
有一种特殊的用法,直接给switch语句传递一个布尔值true,这是因为每个case语句都会返回一个布尔值,然后将这个布尔值与switch传递的值true进行对比,直到找到匹配的值或者遇到default语句为止。
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.");

十、函数

函数示例:

function sayHi(name, message) {
    alert("Hello " + name + "," + message);
}

函数调用:

sayHi("Nicholas", "how are you today?");

函数在定义时不必指定是否返回值,任何函数在任何时候都可以通过return语句后跟要返回的值来实现返回值。

发表评论

电子邮件地址不会被公开。 必填项已用*标注