写代码啦
JS小记
回复数(0) 浏览数(43)
{{topic.upvote_count || 0}} 编辑 回复

什么是表达式和语句

表达式:

一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方

语句:

语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句
如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”

两者的区别

在javascript中所有表达式都有返回值,表达式均可以嵌套在别的表达式中,但语句不行,语句只能独立出现。

标识符

标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名、函数名
标识符第一个字符,可以是Unicode字母、$、_、中文,后面的字符除了上面所说,还可以有数字

if else 语句

语法:

if(表达式){语句}else if(表达式){语句}else{语句}

先判断if的表达式,只有表达式的值为true时,才会执行后面的语句,如果值为false则判断else if中的表达式,如果都没有通过,则执行else中的语句

当执行了if或者else if中的语句后,就结束整个if语句的执行

else if可以有多个,else必须在if和else if之后,else if和else都不是必要的

while for 语句

while语法

while(表达式){语句}

当表达式的结果为true时,会执行后面的语句,执行完后,会重复判断表达式,只要表示式一直为true,就会一直执行后面的语句,所以有时候会出现死循环的情况,需要注意

do...while语法

do{语句}while(表达式)

和while的用法差不多,唯一的区别就是do..while会先执行一次语句,再对表达式进行判断,所以do...while至少会执行一次语句,而while有可能一次都不执行

for语法

for(语句1;表达式2;语句3){循环内容}

for语句会先执行语句1,再执行表达式2,如果判断通过,则执行循环内容,然后执行语句3,之后继续判断表达式2,直到表达式2的值为false为止

break、continue

break和continue都是用在循环语句中,只是break表示退出当前循环语句,而continue表示跳过当前的循环

break.png break.png

continue.png continue.png

lable

break和continue语句都可以与lebel语句联合使用,从而返回代码中特定的位置

break

    for (let i = 0; i < 10; i++) {
        for (let x = 0; x < 5; x++) {
            if (i === 5) {
                console.log("跳出循环");
                break;
            }
        }
        num++;
    }
    console.log('num=' + num);

当只使用break的时候,在执行内部for循环,触发break后,外部的for循环是照常执行的

    //这里为label,标签名为outPoint
    outPoint:for (let i = 0; i < 10; i++) {
        for (let x = 0; x < 5; x++) {
            if (i === 5) {
                console.log("跳出循环");
                break;
            }
        }
        num++;
    }
    console.log('num=' + num);


当break和label联合使用的时候就会发现,触发break后,外部的for循环也停止执行了

continue

    for (let i = 0; i < 3; i++) {
        for (let x = 0; x < 3; x++) {
            if (x === 1) {
                console.log("跳出循环");
                continue;
            }
            console.log("内部for" + x);
        }
        num++;
        console.log("\n");
    }
    console.log('num=' + num);


当只使用continue的时候,内部for在第二次循环的时候,没有输出文本,外部for正常执行

    //这里为label,标签名为outPoint
    outPoint: for (let i = 0; i < 3; i++) {
        console.log("外部for" + i);
        for (let x = 0; x < 3; x++) {
            if (x === 1) {
                console.log("跳出循环");
                console.log("\n");
                continue outPoint;
            }
            console.log("内部for" + x);
        }
        num++;
    }
    console.log('num=' + num);


而当和label联合使用的时候,内部for在第二次循环的时候直接停止了循环,只输出了一次文本,并且外部for循环了3次,num++这行代码却一次都没有执行

{{topic.upvote_count || 0}}

什么是表达式和语句

表达式:

一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方

语句:

语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句
如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”

两者的区别

在javascript中所有表达式都有返回值,表达式均可以嵌套在别的表达式中,但语句不行,语句只能独立出现。

标识符

标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名、函数名
标识符第一个字符,可以是Unicode字母、$、_、中文,后面的字符除了上面所说,还可以有数字

if else 语句

语法:

if(表达式){语句}else if(表达式){语句}else{语句}

先判断if的表达式,只有表达式的值为true时,才会执行后面的语句,如果值为false则判断else if中的表达式,如果都没有通过,则执行else中的语句

当执行了if或者else if中的语句后,就结束整个if语句的执行

else if可以有多个,else必须在if和else if之后,else if和else都不是必要的

while for 语句

while语法

while(表达式){语句}

当表达式的结果为true时,会执行后面的语句,执行完后,会重复判断表达式,只要表示式一直为true,就会一直执行后面的语句,所以有时候会出现死循环的情况,需要注意

do...while语法

do{语句}while(表达式)

和while的用法差不多,唯一的区别就是do..while会先执行一次语句,再对表达式进行判断,所以do...while至少会执行一次语句,而while有可能一次都不执行

for语法

for(语句1;表达式2;语句3){循环内容}

for语句会先执行语句1,再执行表达式2,如果判断通过,则执行循环内容,然后执行语句3,之后继续判断表达式2,直到表达式2的值为false为止

break、continue

break和continue都是用在循环语句中,只是break表示退出当前循环语句,而continue表示跳过当前的循环

break.png break.png

continue.png continue.png

lable

break和continue语句都可以与lebel语句联合使用,从而返回代码中特定的位置

break

    for (let i = 0; i < 10; i++) {
        for (let x = 0; x < 5; x++) {
            if (i === 5) {
                console.log("跳出循环");
                break;
            }
        }
        num++;
    }
    console.log('num=' + num);

当只使用break的时候,在执行内部for循环,触发break后,外部的for循环是照常执行的

    //这里为label,标签名为outPoint
    outPoint:for (let i = 0; i < 10; i++) {
        for (let x = 0; x < 5; x++) {
            if (i === 5) {
                console.log("跳出循环");
                break;
            }
        }
        num++;
    }
    console.log('num=' + num);


当break和label联合使用的时候就会发现,触发break后,外部的for循环也停止执行了

continue

    for (let i = 0; i < 3; i++) {
        for (let x = 0; x < 3; x++) {
            if (x === 1) {
                console.log("跳出循环");
                continue;
            }
            console.log("内部for" + x);
        }
        num++;
        console.log("\n");
    }
    console.log('num=' + num);


当只使用continue的时候,内部for在第二次循环的时候,没有输出文本,外部for正常执行

    //这里为label,标签名为outPoint
    outPoint: for (let i = 0; i < 3; i++) {
        console.log("外部for" + i);
        for (let x = 0; x < 3; x++) {
            if (x === 1) {
                console.log("跳出循环");
                console.log("\n");
                continue outPoint;
            }
            console.log("内部for" + x);
        }
        num++;
    }
    console.log('num=' + num);


而当和label联合使用的时候,内部for在第二次循环的时候直接停止了循环,只输出了一次文本,并且外部for循环了3次,num++这行代码却一次都没有执行

43
回复 编辑