JS运算符详解

简介: JS运算符详解
所谓运算符就是专门用于告诉程序执行特定运算或逻辑操作的符号。


算术运算符

  • 对数值类型的变量及常量进行算数运算。
  • 也是最简单和最常用的运算符号。

QQ截图20220211232028.png

 

  • 四则混合运算,遵循 “先乘除后加减”的原则。
  • 取模运算结果的正负取决于被模数(%左边的数)的符号。
  • 尽量避免利用小数进行运算,有时可能因JavaScript的精度导致结果的偏差。
  • “+”和“-”在算术运算时还可以表示正数或负数。
  • 运算符(++或--)放在操作数前面,先进行自增或自减运算,再进行其他运算。若运算符放在操作数后面,则先进行其他运算,再进行自增或自减运算。
  • 递增和递减运算符仅对数值型和布尔型数据操作,会将布尔值true当做1,false当做0。

  

字符串运算符

JavaScript中,“+”操作的两个数据中只要有一个是字符型,则“+”就表示字符串运算符,用于返回两个数据拼接后的字符串。

QQ截图20220211232247.png
 

 

赋值运算符

  • 是一个二元运算符,即它有两个操作数。
  • 它将运算符右边的值赋给左边的变量。

QQ截图20220211232343.png
 

注意

  • “=”是赋值运算符,而非数学意义上的相等的关系。
  • 一条赋值语句可以对多个变量进行赋值。
  • 赋值运算符的结合性为“从右向左”。

QQ截图20220211232427.png

 

比较运算符

  • 用来对两个数值或变量进行比较。
  • 其结果是布尔类型的true或false。

QQ截图20220211232524.png

注意

  • 不相同类型的数据进行比较时,首先会自动将其转换成相同类型的数据后再进行比较。
  • 运算符“==”和“!=”运算符在比较时,只比较值是否相等。
  • 运算符“===”与“!==”要比较数值和其数据类型是否相等。

 

逻辑运算符

  • 是在程序开发中用于逻辑判断的符号。
  • 其返回值类型是布尔类型。

QQ截图20220211232634.png

 

  • 逻辑运算符的结合性是从左到右。
  • 当使用“&&”连接两个表达式时,如果左边表达式的值为false,则右边的表达式不会执行,逻辑运算结果为false。(短路)
  • 当使用“||”连接两个表达式时,如果左边表达式的值为true,则右边的表达式不会执行,逻辑运算结果为true。(短路)
  • 逻辑运算符可针对结果为布尔值的表达式进行运算。

 

三元运算符

三元运算符是一种需要三个操作数的运算符,运算的结果根据给定条件决定。

QQ截图20220211232749.png

  • 先求条件表达式的值。
  • 如果为true,则返回表达式1的执行结果。
  • 如果条件表达式的值为false,则返回表达式2的执行结果。

 

位运算符

  • 是针对二进制数的每一位进行运算的符号。
  • 它专门针对数字0和1进行操作。

QQ截图20220211232834.png

 

注意

JavaScript中位运算符仅能对数值型的数据进行运算。在对数字进行位运算之前,程序会将所有的操作数转换成二进制数,然后再逐位运算。

 

运算符优先级

QQ截图20220211232930.png

  • 同一单元格的运算符具有相同的优先级。
  • 左结合方向表示同级运算符的执行顺序为从左到右。
  • 右结合方向则表示执行顺序为从右到左。
  • 补充:圆括号()优先级别最高。例如, 4 + 3 2的 输出结果为10,(4 + 3) 2的输出结果为14。
相关文章
|
4月前
|
JavaScript 前端开发 开发者
混淆赋值运算符(=)和相等比较运算符(==, ===)(js的问题)
混淆赋值运算符(=)和相等比较运算符(==, ===)(js的问题)
28 0
|
2天前
|
JavaScript 前端开发
JavaScript 运算符
JavaScript 运算符
11 3
|
13天前
|
JavaScript 前端开发
JavaScript 中的 typeof 运算符
【8月更文挑战第29天】
13 1
|
21天前
|
JavaScript 前端开发 安全
深入理解JavaScript中的比较运算符
深入理解JavaScript中的比较运算符
|
27天前
|
前端开发 JavaScript 程序员
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景
|
28天前
|
JavaScript 前端开发
JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
这篇文章详细介绍了JavaScript中的强制类型转换、运算符(包括算术、逻辑、条件、赋值和关系运算符)的使用方法和优先级规则。
JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
|
4月前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
36 0
|
2月前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
46 1
|
3月前
|
JavaScript 前端开发 开发者
JavaScript进阶-解构赋值与展开运算符
【6月更文挑战第19天】ES6的解构赋值与展开运算符增强了JS开发效率。解构允许直接从数组或对象提取值,简化数据提取,而展开运算符则用于合并数组和对象或作为函数参数。解构时注意设置默认值以处理不存在的属性,避免过度嵌套。展开运算符需区分数组与对象使用,勿混淆于剩余参数。通过示例展示了这两种操作在数组和对象中的应用,提升代码可读性与简洁度。
127 5
|
3月前
|
JavaScript 前端开发
JavaScript基础-运算符与条件语句
【6月更文挑战第11天】本文探讨了JavaScript中的运算符和条件语句,包括算术、比较、逻辑、赋值及三元运算符。强调了使用严格等于`===`避免类型转换错误,理解逻辑运算符短路特性和优化条件结构以提高代码可读性。通过示例展示了正确使用这些概念,以提升代码质量和维护性。
30 2