000004 - JavaScript语言基础(四)

000004 - JavaScript语言基础(四)

1、语句
1.1、if语句

if语句是使用最频繁的语句之一,语法如下:

if (condition) statement1 else statement2

if (i > 25) {
    console.log("Greater than 25.");
} else if (i < 0) {
    console.log("Less than 0.");
} else {
console.log("Between 0 and 25, inclusive.");
}
1.2、do-while语句

do-while语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。换句话说,循环体内的代码至少执行一次。do-while的语法如下:

do {statement
   } while (expression);

let i = 0;
do {i += 2;
   } while (i < 10);
1.3、while语句

while语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。因此,while循环体内的代码有可能不会执行。下面是while循环的语法:

while(expression) statement

let i = 0;
while (i < 10) {
    i += 2;
}
1.4、for语句

for语句也是先测试语句,只不过增加了进入循环之前的初始化代码,以及循环执行后要执行的表达式,语法如下:

for (initialization; expression; post-loop-expression) statement

let count = 10;
for (let i = 0; i < count; i++) {
    console.log(i);
}

for (;;) { // 无穷循环
    doSomething();
}
1.5、for-in语句

for-in语句是一种严格的迭代语句,用于枚举对象中的非符号键属性,语法如下

for (property in expression) statement

for (const propName in window) {
    document.write(propName);
}

这个例子使用for-in循环显示了BOM对象window的所有属性。每次执行循环,都会给变量propName赋予一个window对象的属性作为值,直到window的所有属性都被枚举一遍。与for循环一样,这里控制语句中 的const也不是必需的。但为了确保这个局部变量不被修改,推荐使用const。

所有可枚举的属性都会返回一次,但返回的顺序可能会因浏览器而异。

如果for-in循环要迭代的变量是null或undefined,则不执行循环体。

1.6、for-of语句

for-of语句是一种严格的迭代语句,用于遍历可迭代对象的元素,语法如下:

for (property of expression) statement

for (const el of [2,4,6,8]) {
    document.write(el);
}

我们使用for-of语句显示了一个包含4个元素的数组中的所有元素。循环会一直持续到将所有元素都迭代完。与for循环一样,这里控制语句中的const也不是必需的。但为了确保这个局部变量不被修改,推荐使用const。

for-of循环会按照可迭代对象的next()方法产生值的顺序迭代元素

1.7、标签语句

标签语句用于给语句加标签,语法如下:

label: statement

start: for (let i = 0; i < count; i++) {
    console.log(i);
}

在这个例子中,start是一个标签,可以在后面通过break或continue语句引用。标签语句的典型应用场景是嵌套循环。

1.8、break和continue语句

break和continue语句为执行循环代码提供了更严格的控制手段。其中,break语句用于立即退出循环,强制执行循环后的下一条语句。而continue语句也用于立即退出循环,但会再次从循环顶部开始执行。下面看一个例子:

let num = 0;
for (let i = 1; i < 10; i++) {
    if (i % 5 == 0) {
        break;
    }num++;
}console.log(num); // 4

break和continue都可以与标签语句一起使用,返回代码中特定的位置。这通常是在嵌套循环中,如下面的例子所示:

let num = 0;
outermost: for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            break outermost;
        }
        num++;
    } 
}
console.log(num); // 55

let num = 0;
outermost:
for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            continue outermost;
        }num++;
    }
}
console.log(num); // 95
1.9、with语句

with语句的用途是将代码作用域设置为特定的对象,其语法是:

with (expression) statement;

使用with语句的主要场景是针对一个对象反复操作,这时候将代码作用域设置为该对象能提供便利

let qs = location.search.substring(1);
let hostName = location.hostname;
let url = location.href;

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

这里,with语句用于连接location对象。这意味着在这个语句内部,每个变量首先会被认为是一个局部变量。如果没有找到该局部变量,则会 搜索location对象,看它是否有一个同名的属性。如果有,则该变量会被求值为location对象的属性。

1.10、switch语句

switch语句是与if语句紧密相关的一种流控制语句,从其他语言借鉴而来

switch (expression) {
    case value1:
        statement
        break;
    case value2:
        statement
        break;
    case value3:
        statement
        break;
    case value4:
        statement
        break;
    default:
        statement
}

这里的每个case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”break关键字会导致代码执行跳出switch语句。如果没有break,则代码会继续匹配下一个条件。default关键字用于在任何条件都没有满足时指定默认执行的语句(相当于else语句)

switch语句可以用于所有数据类型,因此可以使用字符串甚至对象。其次,条件的值不需要是常量,也可以是变量或表达式.

2、函数

以下是函数的基本语法:

function functionName(arg0, arg1,...,argN) {
    statements
}

ECMAScript中的函数不需要指定是否返回值。任何函数在任何时间都可以使用return语句来返回函数的值,用法是后跟要返回的值。只要碰到return语句,函数就会立即停止执行并退出。因此,return语句后面的代码不会被执行。return语句也可以不带返回值。这时候,函数会立即停止执行并返回undefined。

function sum(num1, num2) {
    return num1 + num2;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值