JS中表达式和语句的区别(判断技巧)

一、概述
1、语句是为了完成某种任务而进行的操作,并不会返回值( 除了undefined );
2、表达式是为了得到返回值,且一定会返回一个值( 不包括返回 undefined的语句 )
二、语句
语句(statement)是 为了完成某种任务而 进行的操作、行为 ,比如下面就是一行赋值语句
常见的语句有: for循环语句 if判断语句 ...
 <script>
    let num = 1 + 2;
  </script>
这条语句先用 let 命令,声明了变量 a ,然后将 1 + 3 的运算结果赋值给变量 a
注意: let num = 1 + 2;是一条完整的语句,拆开就不能叫语句了 
三、表达式
表达式(expression),指一个为了得到返回值的计算式,且表达式 一定会返回一个值
<script>
    let a = 1 + 2 // 1 + 2就是一条表达式
  </script>
上面的代码中, 1 + 2 就是一条表达式
四、判断语句和表达式的方法
1、利用if语句来判断
因为 if语句的括号里面需要的是 布尔值,而 表达式 不管如何运算都会有一个布尔值
 
 <script>
    let a = 1;
    console.log(a + 2); // true
    console.log(a - 2); // true
    console.log(a * 2); // true
    console.log(a / 2); // true
    console.log(a === 2); // false
    console.log(a !== 2); // true
    console.log(a > 2); // false
    console.log(a < 2); // true
  </script>
所以能在if语句的括号里进行判断,并且不会报错的都是表达式。
上面的 1 + 1放在if语句括号里没有报错,说明它是一个表达式,而下面的 let a = 1 + 1报错了,说明它是一个语句。
2、利用变量赋值来判断
因为表达式返回的是一个值,而值可以赋值给变量,如果是语句的话就会报错
上面的 a=(1 + 1)是一条表达式返回的是一个值,所以将值赋值给变量不会报错,而 b= (let c = 1 + 1)是语句,语句是不会返回值的,所以赋值给变量会报错。
3、利用算数运算符进行判断
因为表达式返回的是一个值,所以自然可以进行加减乘除,而语句不会返回值,所以不能进行加减乘除。
而语句没有值,所以进行加减乘除会报错
判断小技巧:
能在console.log()中打印的并返回值的即为表达式,不能打印且报错的则为语句
五、表达式语句
表达式语句( expression  statement):表达式语句 去掉最后分号,也可以当 表达式来使用。
常见的表达式语句有:对象(new、delete)、函数调用()等
 <script>
    let a = 1;
    // 函数
    function test() {
      console.log(a);
    }
    test(a) // 表达式语句去掉分号后变成表达式,表达式最终都会返回一个值
  </script>
注意:
js语句以分号结尾,但 表达式不需要分号结尾一但在表达式后添加分号,则会被js引擎视为语句,这样就会产生一些没有意义的语句( 表达式语句除外)。
 <script>
    let x = 1; // 这是赋值语句
    x + 1; // 这是一个表达式添加分号后变成语句,虽然它符合js语法规范存在了,但它没有任何意义(不会返回任何值)
    x + x; // // 这也是一个表达式添加分号后变成语句,虽然它符合js语法规范存在了,但它没有任何意义(不会返回任何值)
    ; // 这个分号也是没有意义语句
  </script>
上面代码中 x + 1;虽然符合js的语法规范存在了,但它并没有任何意义,只是单纯的产生了一个值,并没有什么实际意义。
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值