【前端每日基础】day21——js基础运算符

JavaScript 提供了丰富的运算符,用于执行各种操作,如算术运算、比较、逻辑运算等。以下是 JavaScript 中的主要运算符及其用法。其实运算符大体上各语言都大差不差,顶多是部分小细节会有不同,简单看看就好了。

算术运算符

加法 (+):用于两个数值相加或字符串连接。

let sum = 5 + 3; // 8
let str = "Hello" + " " + "World"; // "Hello World"

减法 (-):用于两个数值相减。

let difference = 10 - 4; // 6

乘法 (*):用于两个数值相乘。

let product = 4 * 3; // 12

除法 (/):用于两个数值相除。

let quotient = 10 / 2; // 5

取余 (%):用于获取两个数值相除后的余数。

let remainder = 10 % 3; // 1

递增 (++):用于将数值增加1。

let count = 1;
count++; // 2

递减 (–):用于将数值减少1。

let count = 2;
count--; // 1

指数 (**):用于计算一个数值的指数。

let power = 2 ** 3; // 8

赋值运算符

赋值运算符就记住一点,左侧变量是主动的一方

简单赋值 (=):用于将右侧的值赋给左侧的变量。

let x = 10;

加赋值 (+=):将右侧的值加到左侧变量并赋值。

let x = 5;
x += 3; // x = x + 3; 结果是 8

减赋值 (-=):将右侧的值从左侧变量中减去并赋值。

let x = 5;
x -= 3; // x = x - 3; 结果是 2

乘赋值 (*=):将右侧的值乘以左侧变量并赋值。

let x = 5;
x *= 3; // x = x * 3; 结果是 15

除赋值 (/=):将左侧变量除以右侧的值并赋值。

let x = 10;
x /= 2; // x = x / 2; 结果是 5

取余赋值 (%=):将左侧变量对右侧的值取余并赋值。


let x = 10;
x %= 3; // x = x % 3; 结果是 1

指数赋值 (**=):将左侧变量的值提升为右侧的指数并赋值。

let x = 2;
x **= 3; // x = x ** 3; 结果是 8

比较运算符

js中是有<=,>=等用法的
相等 (==):比较两个值是否相等,类型转换后再比较。

let isEqual = (5 == ' 5 ' ); // true

全等 (===):严格比较两个值是否相等,不进行类型转换。

let isStrictEqual = (5 === '5'); // false

不相等 (!=):比较两个值是否不相等,类型转换后再比较。

let isNotEqual = (5 != '5'); // false

不全等 (!==):严格比较两个值是否不相等,不进行类型转换。

let isStrictNotEqual = (5 !== '5'); // true

大于 (>):比较左侧值是否大于右侧值。

let isGreater = (10 > 5); // true

小于 (<):比较左侧值是否小于右侧值。

let isLesser = (5 < 10); // true

大于等于 (>=):比较左侧值是否大于或等于右侧值。

let isGreaterOrEqual = (10 >= 10); // true

小于等于 (<=):比较左侧值是否小于或等于右侧值。

let isLesserOrEqual = (5 <= 10); // true

逻辑运算符

与或非再基础不过了,都是通用的

逻辑与 (&&):当且仅当两个操作数都为 true 时,结果为 true。

let isTrue = (5 > 3 && 10 > 5); // true

逻辑或 (||):当一个或两个操作数为 true 时,结果为 true。

let isTrue = (5 > 3 || 10 < 5); // true

逻辑非 (!):返回操作数的布尔值的相反值。

let isFalse = !(5 > 3); // false

位运算符

按位与 (&):对两个操作数的每一位执行与操作。

let result = 5 & 1; // 1

按位或 (|):对两个操作数的每一位执行或操作。

let result = 5 | 1; // 5

按位异或 (^):对两个操作数的每一位执行异或操作。

let result = 5 ^ 1; // 4

按位非 (~):对操作数的每一位执行非操作。

let result = ~5; // -6

左移 (<<):将第一个操作数的所有位向左移指定的位数。

let result = 5 << 1; // 10

右移 (>>):将第一个操作数的所有位向右移指定的位数。

let result = 5 >> 1; // 2

无符号右移 (>>>):将第一个操作数的所有位向右移指定的位数,并用零填充空位。

let result = 5 >>> 1; // 2

其他运算符

三元运算符 (? 😃:基于条件表达式的结果返回不同的值。

let result = (5 > 3) ? 'Yes' : 'No'; // 'Yes'

逗号运算符 (,):计算两个表达式并返回第二个表达式的值。
可以在返回表达式前再做一些操作

let result = (1 + 2, 3 + 4); // 7

typeof 运算符:返回一个字符串,表示未经计算的操作数的类型。
未经计算的操作数的意思是在使用 typeof 运算符时,它不会对操作数进行计算或求值,而是直接返回操作数的类型。

let type = typeof 123; // 'number'

delete 运算符:删除对象的属性或数组的元素。

let obj = { name: 'John', age: 30 };
delete obj.age; // obj 变成 { name: 'John' }

删除数组时如果用下标删并不会缩短数组长度,只会把该下标位置元素变为undefined。如果要删去某个位置的元素,建议使用Array.prototype.splice

let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1);  // 从索引 2 开始删除 1 个元素
console.log(arr);  // 输出 [1, 2, 4, 5]
console.log(arr.length);  // 输出 4

void 运算符:计算一个表达式但不返回值。

void 0; // undefined

in 运算符:检测对象是否具有特定属性。

let obj = { name: 'John' };
'name' in obj; // true

instanceof 运算符:检测对象是否是某个构造函数的实例。

let arr = [];
arr instanceof Array; // true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

halcon C++ 图片中添加区域HRegion,循环读取HTuple

halcon C 图片中添加区域&#xff0c;循环读取HTuple HObject ho_ImageResult1; GenEmptyObj(&ho_ImageResult1); // 绘制区域到图片 PaintRegion(ho_Regions, ho_Image, &ho_ImageResult1, ((HTuple(255).Append(255)).Append(255)), "fill"); // 保存图片…

弱密码系统登录之后强制修改密码

在你登录的时候&#xff0c;获取到弱密码&#xff0c;然后将他存到vuex里面&#xff0c;在登录进去之后&#xff0c;index页面再去取&#xff0c;思路是这样的 一、vuex里面定义密码字段 我是直接在user.js里面写的 import { login, logout, getInfo } from /api/login impo…

【MySQL进阶之路 | 基础篇】存储过程

1. 存储过程概述 (1). 含义 : 存储过程就是一组经过预先编译的SQL语句的封装. (2). 执行过程 : 存储过程预先存储在MySQL服务器上&#xff0c;需要执行的时候&#xff0c;客户端只需要向服务器端发送调用存储过程的命令&#xff0c;服务器端就可以把预先存储好的这一系列SQL语…

推荐一款媒体影音嗅探神器—Chrome扩展插件(猫抓cat-catch)

目录 1.1、前言1.2、下载地址1.3、github Releases 版本说明1.4、安装步骤1.5、猫抓插件常规设置1.5.1、设置抓取文件的类型1.5.2、设置抓取文件的后缀名 1.1、前言 我们在日常上网的过程中&#xff0c;很多音频、视频网站下载资源都非常不方便&#xff0c;要么需要安装客户端&…

jvm的类加载

文章目录 概要加载类加载器分类双亲委派模型自定义加载器 验证准备解析初始化<cinit>与<init> 概要 jvm运行时的整体结构如下 一个Car类&#xff0c;类跟Car对象的转换过程如下&#xff1a; 加载后的class类信息存放于方法区&#xff1b;ClassLoader只负责clas…

5.25机器人基础-空间描述和变换1

参考资料&#xff1a;《机器人学导论》John.J.Craig 彻底搞懂“旋转矩阵/欧拉角/四元数”&#xff0c;让你体会三维旋转之美_欧拉角判断动作-CSDN博客 机器人操作的定义是指通过某种机构使零件和工具在空间运动。因此&#xff0c;对于坐标系的定义显得尤为重要&#xff0c;相…

Mysql搭建主从同步,docker方式(一主一从)

服务器&#xff1a;两台Centos9 用Docker搭建主从 使用Docker拉取MySQL镜像 确保两台服务器都安装好了docker 安装docker请查看&#xff1a;Centos安装docker 1.两台服务器都先拉取mysql镜像 docker pull mysql 2.我这里是在 /opt/docker/mysql 下创建mysql的文件夹用来存…

基于STM32实现智能水族箱控制系统

目录 引言环境准备智能水族箱控制系统基础代码示例&#xff1a;实现智能水族箱控制系统 水温传感器数据读取水泵与加热器控制水位传感器数据读取用户界面与显示应用场景&#xff1a;水族箱管理与环境控制问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌…

网络布线与数制转换

信号与传输介质 信号概述 什么是信号 信息 人对现实世界事物存在方式或运动状态的某种认识 数据 用于描述事物的某些属性的具体量值 信号 信息传递的媒介 例如&#xff0c;描述某一件物体&#xff0c;它的长、宽、高、质地、颜色、气味等就是用以形容该物体的数据。通…

深度学习——自己的训练集——图像分类(CNN)

图像分类 1.导入必要的库2.指定图像和标签文件夹路径3.获取文件夹内的所有图像文件名4.获取classes.txt文件中的所有标签5.初始化一个字典来存储图片名和对应的标签6.遍历每个图片名的.txt文件7.随机选择一张图片进行展示8.构建图像的完整路径9.加载图像10.检查图像是否为空 随…

网络安全从入门到精通(特别篇I):应急响应之不同平台后门排查思路

Windows-后门-常规&权限维持&内存马 Linux-后门-常规&权限维持&Rootkit&内存马 Windows实验 1、常规MSF后门-分析检测 2、权限维持后门-分析检测 3、Web程序内存马-分析检测 常见工具集合: https://mp.weixin.qq.com/s/L3Lv06bFdUX_ZE4rS69aDg 常规…

RAG系统-主流向量数据库

主流向量数据库功能对比 FAISS: Meta 开源的向量检索引擎 https://github.com/facebookresearch/faissPinecone: 商用向量数据库&#xff0c;只有云服务 https://www.pinecone.io/Milvus: 开源向量数据库&#xff0c;同时有云服务 https://milvus.io/Weaviate: 开源向量数据库&…

小程序迁移主体变更流程全攻略

小程序迁移变更主体有什么作用&#xff1f;有些小程序开发者&#xff0c;因为业务调整&#xff0c;或者公司更换&#xff0c;需要更换小程序主体&#xff01;但是很多开发者对于小程序更换主体的操作流程并不熟悉&#xff0c;于是我们专门准备了这篇&#xff0c;关于小程序更换…

可以在搜索结果中屏蔽指定网站的插件

可以在搜索结果中屏蔽指定网站的插件 | LogDict背景 在搜索引擎中搜索问题, 往往充斥各种无效内容 比如搜个技术类的问题, 前几页CSDN, 百度百家号, 百度经验, 百度知道, 腾讯云各类云爬的水文 CSDN基本都是复制粘贴的, 甚至格式都乱码了, 虽然我以前也干过 要复制粘贴无所谓, …

机器重启oracle数据库自动启动异常

业务连接报ora-01033&#xff1a; 检查服务器&#xff0c;发现有重启记录&#xff0c;oracle进程存在&#xff0c;数据库状态处于mount状态&#xff0c;检查日志&#xff0c;发现在数据库启动时没有正常open&#xff1a; 连入数据库&#xff1a;Select * from v$backup 发现数…

xml获取数据

获取xml文本 加载xml文本 解析xml文本&#xff1a; &#xff08;1&#xff09;获取根节点的所有字节点的list &#xff08;2&#xff09;将每个节点转换为xmlelement &#xff08;3&#xff09;从xmlelement中获取各种名称的数据 //获取xml文件TextAsset xml Resources.L…

初步认识栈和队列

Hello&#xff0c;everyone&#xff0c;今天小编讲解栈和队列的知识&#xff01;&#xff01;&#xff01; 1.栈 1.1栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&…

阅读《HTTP权威指南》:重温HTTP基础。

HTTP权威指南&#xff1a;重温HTTP基础。 第一章、HTTP概述 第二章、URL与资源 通用URL组件是指构成URL&#xff08;统一资源定位符&#xff09;的一些基本部分。这些组件共同作用&#xff0c;指向一个特定的资源。URL的标准格式是&#xff1a; scheme://username:passwordhos…

简单操作一单利润500+,最新快手缺货赔付玩法,【找店教程+详细教程】

在如今快速变化的时代&#xff0c;寻找充满创新的收入来源已经成为了一种趋势。这不仅是为了实现财务的自由&#xff0c;更是为了在生活中拥有更多的选择权。一项革新的实践——利用手机进行快手缺货赔付单号的操作&#xff0c;已经成为许多人稳定“下车”的一个新途径。 据了…

python画图:matpolt,设置图片尺寸,字体大小,副坐标轴,保存

文章重心: 写论文的时候,图片的大小,字体的大小,副坐标轴,这些都是很重要的因素,保存一下之前用过的画图代码单图多图(两个子图)堆叠柱状图两个Y轴的图问题: python保存的时候,我选择的是svg,但是这样图片会比较大,查重什么的需要把图片都删了(一般有文件大小限制…