JS-基础:JavaScript运算符 个人总结

简介: JS-基础:JavaScript运算符 个人总结

运算符是用于实现赋值、比较和执行算数运算等功能的符号。

本文概括了常用运算符分类,分类如下:

算数运算符

运算符

描述 案例
+ 10+10=20
- 10-10=0
* 10*10=100
/ 10/10=1
% 取模(取余数) 9%2=1

tip:浮点数的精度问题

console.log(0.1 + 0.2); // 0.30000000000000004
console.log(0.07 * 100); // 7.000000000000001

浮点数值的最高精度是 17 位小数,但是在进行算数运算时其精确度远远不如整数,所以不要

直接判断两个浮点数是否相等!

递增和递减运算符

自增和自减运算符必须配合变量使用。

自增运算符:

let num = 10;
console.log(++num); // 11 ++在前,先自加,后返回值
let num1 = 10;
console.log(num1++); // 10 ++在后,先返回原值,后自加

自减运算符:

let num = 10;
console.log(--num); // 9 --在前,先自减,后返回值
let num1 = 10;
console.log(num1--); // 10 --在后,先返回原值,后自减

比较运算符

运算符 描述 案例 结果
< 小于号 1<2 true
> 大于号 1>2 false
>= 大于等于号(大于或等于) 2>=2 true
<= 小于等于号(小于或等于) 3<=2 false
== 判等号(会隐式转换) 15=='15' true
!= 不等号 37 !=37 false
=== 全等(要求值和数据类型都一致) 37 === '37' false
!== 全不等(要求值和数据类型都一致) 37 !== '37' true

逻辑运算符

逻辑运算符是用来进行布尔值运算的运算符

运算符 描述 案例 特点
&& 逻辑与,简称  与  and true && false 为 false 两边都是true才返回true
|| 逻辑或,简称  或  or true || false 为 true 有一边为true就返回true
! 逻辑非,简称  非  not ! true 为 false 取反

赋值运算符

运算符 描述 案例
=

赋值运算符,直接赋值

let name = ‘张三’;

+=        -=

加或减一个数后再赋值

let age = 10; age += 5;

*=        /=        %=

乘、除、取模后再赋值

let age = 5; age *= 5;

运算符优先级(大致分类)

优先级 运算符 顺序
1

小括号、数组下标、字段访问

()        []        .

2

一元运算符

!       ++        --
3

算数运算符

先   *    /    %   后  +   -
4

关系运算符

>   >=   <   <=
5

相等运算符

==     !=     ===     !==
6

逻辑运算符

先   &&    后    ||
7

赋值运算符

=
目录
相关文章
|
27天前
|
机器学习/深度学习 人工智能 JavaScript
js和JavaScript
js和JavaScript
21 4
|
1月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
27 2
|
4天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
26天前
|
JavaScript 前端开发
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
14 1
|
1月前
|
JavaScript
js开发:请解释什么是ES6的扩展运算符(spread operator),并给出一个示例。
ES6的扩展运算符(...)用于可迭代对象展开,如数组和对象。在数组中,它能将一个数组的元素合并到另一个数组。例如:`[1, 2, 3, 4, 5]`。在对象中,它用于复制并合并属性,如`{a: 1, b: 2, c: 3}`。
12 3
|
1月前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
1月前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
JavaScript中的`this`关键字根据执行上下文指向不同对象:全局作用域中指向全局对象(如`window`),普通函数中默认指向全局对象,但作为对象方法时指向该对象。在构造函数中,`this`指向新实例。箭头函数不绑定`this`,而是继承上下文的`this`值。可通过`call`、`apply`、`bind`方法显式改变`this`指向。
11 2
|
JavaScript 前端开发
Javascript之旅——第七站:说说js的调试
原文:Javascript之旅——第七站:说说js的调试      最近比较吐槽,大家都知道,现在web前端相对几年前来说已经变得很重了,各种js框架,各种面对对象,而且项目多了,就会提取公共模块, 这些模块的UI展示都一样,不一样的就是后台逻辑,举个例子吧,我们做企业差旅的时候,通常都有一个成本中心的js公共模块,客户在预定机票 的时候来填写这个成本中心,而这种成本中心分布在online,offline和app等预定端,这样也是方便后期和客户公司进行月结算。
809 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0