JS基础-表达式和运算符

这篇具有很好参考价值的文章主要介绍了JS基础-表达式和运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

表达式:是由操作数和运算符(可选)构成的并产生运算结果的语法结构。例如:3+5

运算符:进行计算或者逻辑运算的符号,比如表达式中的 + 号

表达式分类:算术、关系、逻辑、赋值、组合

算术运算符

以下符号都是算数运算符,运算符的关键词就是运算

意义 运算符
+
-
*
/
取余 %

在算数表达式中, 乘法和除法的优先级要高于加法和减法;

不过可以使用括号来改变运算的顺序


1 + 1 = 2

// 1 + 2 先于 乘4 运算 , 括号改变了又相继
(1+2) * 4 = 12

// 取余操作,只关注余数
11 % 3 = 2

// 能够除尽的,余数是0
9 % 3 = 0 ; 

隐式类型转换

  • 如果参与数学运算的操作数不是数字类型,那么JS会自动将操作数转成数字型,。
  • 隐式转换的本质是内部调用Number() 函数
    • 号比较特殊, 如果 是 数字 和 字符串 相加 表示连接,并不会发生隐式类型转换
// 除了加号外都可以用隐式类型转换, 因为 加号 会代表 连接符
3 * '4' = 12

// + 表示连接符,而非 运算符
3 + '4' = '34';

小数运算

在JS中,有些小数运算不是很精确,会有一些精度损失

在进行小数运算的时候,要调用 toFixed() 方法保留指定的小数位数

0.1 + 0.33 // 输出  0.43000000000000005
// 使用 toFixed正确输出
Number(0.1 + 0.33).toFixed(2)

其他相关运算

幂运算

  • 使用Math.pow() 函数进行幂运算
  • 使用Math.sqrt() 函数进行开根号
// 计算2的3次方
Math.pow(2,3);
// 9 开根号
Math.sqrt(9)

向上取整和向下取整

  • 使用函数 Math.ceil() 向上取整
  • 使用函数 Math.floor() 向下取整

Math.ceil(2.3) // 输出3
Math.floor(2.3) // 输出2

Math.ceil(-2.3) // 输出 -2
Math.floor(-2.3)  // 输出 -3

关系运算符

以下的符号都是关系运算符, 关系运算符的关键词就是比较

意义 运算符
大于 >
小于 <
大于或等于 >=
小于或等于 <=
等于 =
不等于 !=
全等于 ===
不全等于 !==

== 和 === 的区别

== 双等运算符不比较值的类型,它会进行隐式类型转换后比较值是否相等

=== 三等运算符不仅比较值是否相同,也比较类型是否相同

特殊值比较

// 输出true。
undefined == null ; 
// 输出false。 因为类型不同,null 的类型为 object, undefined 类型为 undefined 。所以不相等
undefined === null ; 
// 输出 false。 NaN不自等
NaN == NaN ; 

isNaN 函数

可以判断是不是一个数字

// 输出 true
isNaN(NaN); 
// 输出false
isNaN(5);

isNaN 传入 NaN 或者其他数字类型的值判断比较准确,除了数字类型外的其他类型值判断不准

isNaN(undefined); // true
isNaN('3天'); // true
isNaN(null); // false

逻辑运算符

以下的符号都是逻辑运算符, 逻辑运算符的关键词就是真假。其运算的结果 要么 是 真(true) 要么是假(false)

意义 运算符 解释 举例
! 表示 非 也可以说是 置反运算, 其结果一定一个bool值 !true = false
&& 表示 并且 ,多个条件都为真才真,口诀: 一假则假 。 具有短路功能 true && true = true

逻辑运算符可以比较任意值,不过输出结果只能为 布尔值

表示取反的意思

//false
!true ; 
// true
!false; 
// true
!0 
// true
!undefined 
!'' // true
!'halouworld' //非空字符串取反 为 false

与表示有多个并列条件,只有都满足的时候才会向下执行,否则跳过。通常和 后面讲到的 IF 配合使用

使用口诀:一假则假

<script>

        var a = 1, b = 2, c=3, d=4;

        // a 虽然和b 相等, 但是 c和d不相等,所以结果还是不想等
        if( a== b && c==d) {
            console.log('都成立')
        } else {
            console.log('都不成立')
        } 

</script>

或表示有多个并列条件,只要其中一个满足就会向下执行,否则跳过。通常和 后面讲到的 IF 配合使用

使用口诀:一真则真

<script>
        
      var a = 1, b = 1, c=3, d=4;
      // a == b 后者 c==d 只要有个一个相同就相等, 结果输出相等
      if( a== b || c==d) {
          console.log('成立')
      } else {
          console.log('不成立')
      } 
</script>

短路

短路就是 在一组 或者 当中 ,如果提前运算出了结果, 就结束了, 后面的表达式则不会被执行

  • 与 1!=1 &&  1=2 , 当前面的表达式 1 != 1假, 所以整个表达式结果为, 后面的 1=2 则不会被执行到, 参考口诀 一假则假
  • 11 || 12 , 当前面的表示式  1==1,所以整个表示式结果为, 后面的 1==2 则不会被执行到, 参考口诀 一真则真

赋值运算符

以下的符号都是赋值运算符, 赋值运算符的关键词就是赋值。即符号右边的值赋值给左边

符号 意义 举例
= 赋值 a = 10
+= 左右相加并赋值给左边 a = 10 ; b = 10 ;a +=b
-= 左边减右边并赋值给左边 a -= b
*= 左右相乘并赋值给左边 a *= b
/= 左边除以右边并赋值给左边 a /= b
%/ 左边取余右边并赋值给左边 a %= b
++ 自增运算(自身增1) a++ ; ++a
-- 自减运算 (自身减1) a--; --a;

赋值运算符就是将右边的赋值给左边

# 左边的值赋值给右边的变量
a = 1;
# 连续赋值
var a,b,c;
a = b = c = 1;
console.log(a);
console.log(b);
console.log(c);

+= 等举例

// 等价于 a = a + 5;
a += 5; 

表达式组合

由运算符和操作数共同组成的复杂运算表达式

其中的运算顺序(优先级)

非运算 -> 数学运算 -> 关系运算 -> 逻辑运算

举例

// 输出true
5 < 3 + 3; 
 // 输出 true ,这种复杂的表达式在不加括号的时候看着比较乱
3 > 2 && 8 > 3+ 4
// !13 = false , 等价于 !Boolean(13)
// 输出 true, 小于号左边为false, 转成整数值 Number(false) = 0 和 右边的运算结果 3 相比较
!13 < 6 - 3

总结

特别注意 表示式组合当中,比较复杂的表达式,一定要加上括号,方便以后阅读理解文章来源地址https://www.toymoban.com/news/detail-697927.html

到了这里,关于JS基础-表达式和运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB 运算符和表达式

    一、算术运算符 MATLAB中的算术运算符用于执行基本的算术运算,包括加、减、乘、除、取余和幂运算。下表列出了MATLAB中的算术运算符及其用法: 运算符 描述 示例 其中,点运算符用于执行元素级别的运算,即对两个向量或矩阵中的每个元素进行运算。 二、逻辑运算符 MA

    2024年02月13日
    浏览(44)
  • 运算符、表达式和内置对象

    一、实验目的 1.会使用IDLE编辑器编写简单数据类型; 2.掌握常量、变量的表示方式和简单操作; 3.掌握Python语言中基本的输入和输出方法; 4.掌握Python语言的各种运算符以及这些运算符的表达式; 5.掌握字符串类型的格式化方法; 6.能综合应用所学基础知识编写一些基本的程

    2024年02月07日
    浏览(53)
  • 3.3 运算符和表达式

    几乎每一个程序都需要进行运算,对数据进行加工处理,否则程序就没有意义了。要进行运算,就需规定可以使用的运算符。C语言的运算符范围很宽,把除了控制语句和输入输出以外几乎所有的基本操作都作为运算符处理,例如将赋值符“=”作为赋值运算符、方括号作为下

    2024年02月11日
    浏览(36)
  • Verilog常用运算符及表达式

    本文详细介绍了Verilog常用的运算符和表达式,特别是分享了处理“计算位宽溢出”和“负数”的可行方式,帮助读者更加轻松地理解和掌握Verilog语言的运算符。 算数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%) 赋值运算符:非阻塞赋值(=)、阻塞赋值(=);

    2024年02月08日
    浏览(38)
  • C++的运算符与表达式

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++内置了丰富的运算符,并且提供了以下类型的运算符: 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 在程序中,运算符是用来操作数据的,因此这些数据也被称为操作数,使用运算符将操

    2024年02月06日
    浏览(30)
  • (77)TCL脚本命令【运算符(expr运算表达式)】

    1.1 TCL简介 1.2 TCL的起源与发展 1.3 TCL语言与库介绍 1.4 TCL运行环境 1.5 TCL脚本命令【运算符(expr运算表达式)】 1.6 结束语 Tcl 语言的全称 Tool Command Language,即工具命令语言。这种需要在 EDA 工具中使用的相当之多,或者说几乎每个 EDA 工具都支持 Tcl 语言。所以对于 IC 专业的

    2024年02月16日
    浏览(33)
  • C++学习之运算符与表达式

    基本的算数运算有加法、减法、乘法、除法和取模(求余数),对应的算数运算符分别为:+、-、*、/、%。至于用法,大家应该耳熟能详,这里不再过多赘述。 自增与自减运算符 运算符 说明 ++ 自增运算符,将数值增加一 - - 自减运算符,将数值减少一 该运算符主要有前置和

    2024年02月09日
    浏览(43)
  • 三、C#—变量,表达式,运算符(3)

    变量名能不能用汉字? 全局变量 局部变量 错误1 错误2 错误3 2.2.1 值类型直接存储值 例如: 2.2.2 简单类型 2.2.3 整数类型 例如: 2.2.4 浮点类型 2.2.5 decimal 类型 注意: 定义decimal变量时的问题 2.2.6 bool类型 2.3.1 引用类型存储对值得引用 2.3.2 Object 类 不区分大小写得限制 2.3.3

    2024年02月09日
    浏览(35)
  • 【python数据分析】运算符与表达式

    🙋‍ 哈喽大家好,本次是python数据分析、挖掘与可视化专栏第三期 ⭐本期内容:运算符与表达式 🏆系列专栏:Python数据分析、挖掘与可视化 👍保持开心,拒绝拖延,你想要的都会有,加油加油! 本期内容为python的运算符与表达式~ 参考书籍:《Python数据分析、挖掘与可视

    2024年02月03日
    浏览(38)
  • Java-01变量、运算符、表达式、输入与输出

    tip:[start]编程是一种控制计算机的方式,和我们平时双击打开文件、关机、重启没有任何区别——闫学灿tip:[end] 内置数据类型: 类型 字节数 举例 byte整数 1 123 short整数 2 12345 int整数 4 123456789 long整数 8 1234567891011L float浮点数 4 1.2F double浮点数 8 1.2, 1.2D boolean 1 true or false char字符

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包