JavaScript语句

111 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情

什么是表达式和语句

表达式

1+2表达式的值是3
add(1,2)表达式的值为函数的返回值
//值和返回值并不是同一个东西,只有函数才会有返回值。
console.log表达式的值为函数本身

语句

let a = 1 是一个语句

两者的区别

表达式一般都有值,语句可能有也可能没有。
语句一般会改变环境(声明、赋值)。
// 上面两句话并不绝对。

标识符

规则

  • 第一个字符,必须是Unicode字母或者$或_或中文。
  • 第一位不能是数字。

例:

var a = 1;
var $ = 1;
var ___ =  1;
var 壹 = 1;
var a1 = 1 ;

if语句

语法

if(表达式){
    语句一
}else{
    语句二
}
  • {}在语句只有一句的时候可以省略,但是不建议这么做。

注意事项

  1. 表达式内注意表达式的规范,例如:a = 1 与 a === 1 的区别。
  2. if语句内可以嵌套if语句。
  3. 缩进有时候会挖坑,譬如经常见的面试题:

a=1;
if(a===2)
    console.log('a');
    console.log('a等于2');

请问输出什么?


输出a等于2,因为if语句只能省略一句话的语句块{},只有 console.log('a');在if循环之中, console.log('a等于2');不在循环之中。

推荐的写法:

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

次推荐写法,一般只在函数中使用

function fn(){
    if(表达式){
    return 表达式
    }
     if(表达式){
    return 表达式
    }
    retur 表达式
}

Switch语句

语法

switc (表达式){
    case "第一种":
    语句
    break;
    case "第二种":
    语句
    break;
    default:
    语句
}

注意事项

  • 注意不要忘记省略break;

三原表达式-问号冒号表达式

表达式1?表达式2:表达式3;

function max(a,b){
    return a>b? a:b;
}

判断a是否大于b,true返回a,false返回b。

&&短路逻辑

A  &&  B  &&  C  &&  D

A 是假则取 A,B是假则取 B(前提A为真),C 是假则取 C(前提A B为真),都是真则取D. image.png 前面为真,则继续看后面,前面为假,直接接返回值。

&&短路逻辑

A  ||  B  ||  C  ||  D

A 是真则取 A,B是真则取 B(前提A为假),C 是真则取 C(前提AB为假),都是假则取D.

While语句

语法

while(表达式){语句}

判断表达式的真假,当表达式为真,则执行语句,然后再次判断,当表达式为假,则执行下面的语句。

for语句

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

先执行语句1,然后再判断表达式2,判断为真,执行循环体,然后执行语句3,如果为假,直接退出循环,执行后面的语句。

break continue

break

  • 直接跳出循环,后面的不再执行。
  • break 跳出距离自己最近的for循环。 continue
  • 跳出当前循环,但是并不跳出for循环,但后面的还会执行。

label语句

语法

foo:{
    console.log(1);
    break foo;
    console.log("本行不会输出");
}
console.log(2);

foo就是一个标签。标签内容为{}内的内容