表达式与语句

392 阅读4分钟

知识点:

var a =1; console.log(a); 在控制台(console)显示变量a的值

赋值表达式(=)、严格相等运算符(===)和相等运算符(==)

表达式:

表达式(expression),指一个为了得到返回值的计算式。

1+2表达式的值为3;

add(1,2)表达式的值为函数的返回值;

console.log表达式的值为函数本身;

console.log(3)表达式的值为undefined;

语句:

语句(statement)是为了完成某种任务而进行的操作。var a = 1 + 3;就是一个赋值语句,含义为声明变量a,然后将1+3的运算赋值给变量a.语句以分号结尾,一个分号就表示一个语句结束,多个语句可以写在一行内;分号前面可以没有任何内容,JS将其视为空语句。

var a=1 是一个语句;声明变量a的值为1.

二者的区别

表达式一般都是有值,语句可能有也可能没有,语句一般会改变环境(声明、赋值)

注意事项:

1.JS大小写是敏感的

2.空格和回车(只要不影响断句)无实际意义,只有一个地方不能加回车,那就是return的后面标识符

标识符规则:

第一个字符,可以是Unicode字母或$或—(下划线)或中文,—(下划线)最多只能两个。后面的字符,除了上面说的还可以有数字0-9。中文是合法的标识符,可以用作变量名。

Uncaught SyntaxError: Invalid or unexpected token 没有捕获的语法错误 SyntaxError(语法错误)

注释:

源码中被 JavaScript 引擎忽略的部分就叫做注释,它的作用是对代码进行解释。

//起头单行注释 /* */多行注释。HTML代码的注释()也被视为合法的注释。

区块:

JavaScript 使用大括号,将多个相关的语句组合在一起,称为“区块”(block)。对于

var命令来说,JavaScript 的区块不构成单独的作用域(scope)。

条件语句:

1.if...else 如果...那么...

截图1.png

所谓布尔值,指的是 JavaScript 的两个特殊值,true表示“真”,false表示“伪”。

if(表达式){语句1}else{语句2} 如果表达式成立,语句1执行,如果表达式不成立,语句2执行。

{}在语句只有一句话的时候可以省略,但不建议这样做。

a=1

if(a===1){

console.log('a是1')

}else{

console.log('a不是1')

}

VM562:3 a是1

2.switch 语句 if...else...升级版

截图2.png

a = 2

switch(a){

case 1:

case 3:

console.log('单数');

break;

case 2:

case 4:

console.log('双数');

break;

}

上面代码根据变量fruit(成果)的值,选择执行相应的case(情况)。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。

3.问号冒号表达式(三元运算符):

条件?表达式1:表达式2 如果条件成立则返回表达式1的值,否则返回表达式2的值。

截图3.png

4.&&短路逻辑

window.f1 && console.log('f1存在')

A&&B&&C&&D取第一个假值或D

5.A&&B

1.两个都为真的情况下值为B

2.只要A是假,他的值就为A

3.如果A是真,那么它的值就是B

4.如果A是假,B是假,那么它的值为A

如果前面为假我就直接输出为假,如果前面为真我就输出后面那个

console && console.log && console.log('h1')

如果console存在,我就看console.log ,如果console.log存在,我就执行console.log('h1')

6.||短路逻辑

A || B || C || D 取第一个真值或D

截图4.png

7.while(当)语句

语法

while(表达式){语句}

判断表达式的真假,当表达式为真,执行语句,执行完再次判断表达式的真假当表达式为假,执行后面的语句,

微信截图_20220630173653.png

初始化、判断、循环体、增长缺一不可,如果有少任何一部分就进入死循环。

8.for循环:for是while循环的方便写法

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

截图8.png

let i只在当前表达式生效。

截图9.png

for循环会执行完才能进入下一步,setTimeout(()=>{console.log(i)},过段时间执行。

break 退出所有循环V.S.只会退出离他最近的for

continue 退出当前一次循环

截图10.png 参考文章: JavaScript 的基本语法wangdoc.com/javascript/…