JavaScript-运算符

算术运算符

返回结果为数字型的运算符

加法运算符

加法运算符(+)是一个二元运算符,可以对两个数字型的操作数进行相加运算,返回值是两个操作数的和

减法运算符

 减法运算符(-)是一个二元运算符,可以对两个数字型的操作数进行相减运算,返回值是第1个操作数减去第2个操作数的值

乘法运算符

乘法运算符(*)是一个二元运算符,可以对两个数字型的操作数进行相乘运算,返回值是两个操作数之积

除法运算符

除法运算符(/)是一个二元运算符 ,可以对两个数字型的操作数进行相除运算,返回第1个操作数除以第2个操作数的值

模运算符

模运算符(%),又叫做取余运算符。是二元运算符,可以对两个数字型的操作数进行取模运算,返回第1个操作数除以第2个操作数之后的余数 

负号运算符 

符号运算符(-)是一个一元运算符,可以将一个数字进行取反操作,将一个正数转换成相应的负数,反之,可以将负数转换成正数

 let a=5;
 a=-a;
 console.log(a);

可以看到结果为-5 

 

正号运算符

与负号运算符相对应,正号运算符(+)也是一个一元运算符,但该运算符不会对操作数产生任何影响,但如果操作数不是一个数值类型的,会将其转换为数值类型 

我们将变量赋值为字符串型,用正号运算符再赋值 

   let a="5";
   a=+a;

查看变量a的类型是number

 递增运算符

递增运算符(++)是一个一元运算符,该运算符可以将操作数进行递增操作,即每次增加1。递增运算符要求其操作数必须是变量。 

当运算符在操作数之后:先使用后递增

当运算符在操作数之前:先递增后使用

递减运算符

递减运算符(--)是一个一元运算符,该运算符可以将操作数进行递减操作,即每次减1。递减运算符要求其操作数必须是变量。 

当运算符在操作数之后:先使用后递减

当运算符在操作数之前:先递减后使用

 关系运算符

关系运算符用于检查两个操作数之间的关系

相等运算符

相等运算符(==)是一个二元运算符,可以比较两个操作数是否相等。如果相等返回true,否则返回false

等同运算符

等同运算符(===)与相同运算符类似,也是一个二元运算符,同样可以比较两个操作数是否相等。如果相等返回true,否则返回false. 

等同运算符与相同运算符的区别:等同运算符对操作数是否相等的判断比相等运算符的判断更为严格,等同运算符只有在两个操作数类型相同,并且值也相同的情况下才会返回true

不等运算符

 不等运算符(!=)是一个二元运算符,可以比较两个操作数是否不相等。如果不相等返回true,否则返回false

不等同运算符

 不等同运算符(!==)与不等运算符类似,也是一个二元运算符,同样可以比较两个操作数是否不相等。如果相等返回true,否则返回false. 

不等同运算符与不等运算符的区别:不等同运算符对操作数是否相等的判断比不等运算符的判断更为严格,不等同运算符只有在两个操作数类型相同,并且值也相同的情况下才会返回true

 小于运算符

小于运算符(<)是一个二元运算符,当第1操作数小于第2个操作数返回true,否则返回false

大于运算符

 大于运算符(>)是一个二元运算符,当第1操作数大于于第2个操作数返回true,否则返回false

小于或等于运算符

  小于或等于运算符(<=)是一个二元运算符,当第1操作数小于或等于第2个操作数返回true,否则返回false

大于或等于运算符

   大于或等于运算符(>=)是一个二元运算符,当第1操作数大于或等于第2个操作数返回true,否则返回false

in运算符

in运算符虽然也是一个二元运算符,但对运算符左右两个操作数的要求严格。in运算符要求第一个操作数必须是字符串类型或可以转换为字符串型的其他类型,第二个操作数必须是数组或对象。只有第1个操作数的值是第2个操作数的属性名,才会返回true,否则返回false 

  let arry=["1","2","3","4"];
   let a="2";
   if(a in arry)
   {
      document.write("a在arry数组里面");
   }
   else
   {
      document.write("a不在arry数组里面");
   }

 

字符串运算符 

字符串运算符(+),该运算符的作用是连接两个字符串,并产生一个新的字符串

let a="12"
   let b="21"
   document.write(a+b);

可以看到连接之后并不是"33",而是“1221” 

 

赋值运算符

赋值运算符(=)作用是给一个变量赋值,赋值运算符是一个二元运算符

运算符左侧可以是变量,数组的一个元素,对象的一个属性值,右侧可以是任意一个数值

 逻辑运算符

逻辑运算符使用的是布尔操作数,在进行逻辑运算后,返回的还是布尔值,逻辑运算符常与关系运算符结合使用

逻辑与运算符

逻辑与运算符(&&) 是一个二元运算符,要求左右两个操作数的值必须是布尔值。

只有当逻辑与运算符的左侧操作数和右侧操作数的值同时为真,返回true,任意一方不为真就返回false。

 let a=12;
   if(a>10 && a<20)
   {
      document.write("a大于10且小于20");
   }
   else
   {
      document.write("a不在10~20里面");
   }

 

逻辑或运算符 

逻辑或运算符(||)是一个二元运算符,要求左右两个操作数的值都必须是布尔值。

只要运算符左侧或右侧任意一侧为真,那么返回结果为true。如果两者都为假,返回false

  let a=12;
   if(a>10 || a<5)
   {
      document.write("true");
   }
   else
   {
      document.write("flase");
   }

检查结果为真

 逻辑非运算符

逻辑非运算符(!)是一个一元运算符,要求操作数放在运算符之后,并且操作数的值必须是布尔型。逻辑非运算符可以对操作数进行取反操作。

 逐位运算符

逐位运算符必须先将操作数转换为32位的二进制数值,然后再进行运算,运算完成将结果转换为十进制

逐位与运算符

诸位与运算符(&)是一个二元运算符,只有两个操作数中相对应的位都为1时,该结果的这一位才为1,否则为0

例如:9+10

  1001 

+1100

————

   1000

转换为10进制结果为“8”

 逐位或运算符

逐位与运算符(|)也是一个二元运算符,只要两个操作数中有一个相对应的位都为1时,该结果的这一位就为1,否则为0

 逐位异或运算符

 逐位异或运算符(^),第1个操作数与第2个操作数相对应的两个数值相同时结果为0,否则为1

  逐位非运算符

逐位与运算符(~)是一个一元运算符,可以将操作数中所有的位的值取反

  左移运算符 

左移运算符(<<)是一个二元操作数,可以将第1个操作数中的所有数值向左移动,向左移动多少位由第2个操作数决定。

右移运算符

 右移运算符(>>)是一个二元操作数,可以将第1个操作数中的所有数值向右移动,向右移动多少位由第2个操作数决定。

无符号右移运算符 

无符号右移运算符(>>>)

该运算符与右移运算符一致,只是左侧的数值都是用0来填补

 条件运算符

 条件运算符(?:)是唯一一个三元运算符,得有3个操作数,第1个操作数在?之前,第2个操作数在:之前,第3个操作数在:之后

第1个操作数必须是布尔值,如果第1个操作数为true,则返回第2个操作数,否则返回第3个操作数

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

banner2.0自定义轮播布局

说明&#xff1a;最近碰到一个需求&#xff0c;让新闻列表实现轮播图的效果&#xff0c;也就是轮播新闻&#xff0c;然后样式必须按照ui设计的样式来弄&#xff0c;之前传统的banner&#xff0c;都是只轮播图片&#xff0c;没想到&#xff0c;这次居然要轮播新闻&#xff0c; 网…

【深度学习】YOLOv8训练,交通灯目标检测

文章目录 一、数据处理二、环境三、训练 一、数据处理 import traceback import xml.etree.ElementTree as ET import os import shutil import random import cv2 import numpy as np from tqdm import tqdmdef convert_annotation_to_list(xml_filepath, size_width, size_he…

java+ vue.js+uniapp一款基于云计算技术的企业级生产管理系统,云MES源码 MES系统如何与ERP系统集成?

java vue.jsuniapp一款基于云计算技术的企业级生产管理系统&#xff0c;云MES源码&#xff0c;MES系统如何与ERP系统集成&#xff1f; MES系统&#xff08;制造执行系统&#xff09;与ERP系统&#xff08;企业资源规划系统&#xff09;的集成可以通过多种方式实现&#xff0c;这…

【git】开发提交规范(feat、fix、perf)

这段时间收到的需求很多&#xff0c;可能是临近两周一次的大版本灰度上线&#xff0c;这次产生了一个关于git的思考&#xff0c;就是各个版本之间怎么管理的问题&#xff0c;这里做出我自己的一些方法。 首先&#xff0c;既然已经明确了remote分支中的release分支为主分支&…

Java中transient关键字

transient介绍 在Java中&#xff0c;transient是一个关键字&#xff0c;用于声明一个字段在序列化过程中应该被忽略。当一个对象被序列化时&#xff0c;它的状态&#xff08;即其字段的值&#xff09;通常会被保存到字节流中&#xff0c;以便稍后可以反序列化恢复对象的状态。…

如何使用Matlab进行三角剖分(自定义函数实现delaunayTriangulation 使用Bowyer-Watson 算法)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、Delaunay三角形 二、使用步骤 1.Bowyer-Watson算法 2.算法步骤 三、动画演示 四、核心代码 五、对比matlab自带函数和我们的算法&#xff1a; 总结 前…

巨某量引擎后台登录实战笔记 | Playwright自动化框架

前言 本文章中所有内容仅供学习交流&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 入正题看看滑块是怎么个事…

CasaOS系统玩客云安装内网穿透工具实现无公网IP远程访问

文章目录 前言1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 前言 2月底&#xff0c;玩客云APP正式停止运营&#xff0c;不再提供上传、云添加功能。3月初&#xff0c;有用户进行了测试&#xff0c;局域网内的各种服务还能继续使用&am…

Ai自动贴图直播项目的趋势,智享自动直播GMV增加工具

在当今社会&#xff0c;直播行业正在悄然地改变着人们的生活方式。无论是在闲暇时光中放松身心&#xff0c;还是在临睡前享受休闲娱乐&#xff0c;观众们越来越习惯于通过刷短视频或者观看直播来消遣自己。根据统计数据显示&#xff0c;到2023年全球将有超过10.74亿网民&#x…

Android 12系统源码_多窗口模式(二)系统实现分屏的功能原理

前言 上一篇我们具体分析了系统处于多窗口模式下&#xff0c;Android应用和多窗口模式相关方法的调用顺序&#xff0c;对于应用如何适配多窗口模式有了一个初步的认识&#xff0c;本篇文章我们将会结合Android12系统源码&#xff0c;具体来梳理一下系统是如何触发多窗口分屏模…

2024全新爆款好物推荐,618必买数码好物清单吐血整理!

​距离618购物狂欢节越来越近了&#xff0c;有很多日常价格不菲的产品在这次活动期间都会进行促销活动&#xff0c;尤其是数码类产品&#xff0c;加上618的优惠活动更有吸引力了。不过面对大促的热潮我们消费者在选购商品的同时还是要擦亮眼睛&#xff0c;避免买到质量不好的商…

[Redis]基本全局命令

Redis存储方式介绍 在 Redis 中数据是以键值对的凡事存储的&#xff0c;键&#xff08;Key&#xff09;和值&#xff08;Value&#xff09;是基本的数据存储单元。以下是对 Redis 键值对的详细讲解&#xff1a; 键&#xff08;Key&#xff09;&#xff1a; 类型&#xff1a;…

英伟达:AI之火还在燃烧!

昨晚&#xff0c;全球市场屏息以待的一家公司财报终于发布了&#xff0c;没有超出大家预期的是&#xff0c;他还是超预期了。 大家当然都知道我们要说的是——英伟达&#xff01; 如今&#xff0c;全球大模型之Z激Z正酣&#xff0c;AI芯片装备竞赛需求猛烈&#xff0c;作为AI…

OPPO Reno12 系列正式发布,仅2699元起售

5月23日&#xff0c;OPPO发布科技潮品 Reno12 系列&#xff0c;包含 Reno12 与 Reno12 Pro&#xff0c;以超美小直屏设计&#xff0c;以及行业首发的新科技&#xff0c;引领全新潮流方向。 据「TMT星球」了解&#xff0c;首次亮相的全新配色 Reno12 「千禧银」与Reno12 Pro的「…

spring常用知识点

1、拦截器和过滤器区别 1. 原理不同&#xff1a; 拦截器是基于java的反射机制&#xff0c;而过滤器采用责任链模式是基于函数回调的。 2. 使用范围不同&#xff1a; 过滤器Filter的使用依赖于Tomcat等容器&#xff0c;导致它只能在web程序中使用 拦截器是一个Sping组件&am…

爆火!开源多模态大模型在手机端进行本地部署!

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型& AIGC 技术趋势、大模型& AIGC 落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了…

Rust Tarui 中的 Scrcpy 客户端,旨在提供控制安卓设备的鼠标和按键映射,类似于游戏模拟器。

Scrcpy-mask 为了实现电脑控制安卓设备&#xff0c;本人使用 Tarui Vue 3 Rust 开发了一款跨平台桌面客户端。该客户端能够提供可视化的鼠标和键盘按键映射配置。通过按键映射实现了实现类似安卓模拟器的多点触控操作&#xff0c;具有毫秒级响应速度。该工具可广泛用于电脑控…

【算法】二分算法——寻找峰值

题解&#xff1a;寻找峰值(二分算法) 目录 1.题目2.暴力求解3.二分算法4.总结 1.题目 题目链接&#xff1a;LINK 2.暴力求解 暴力求解的思路很简单&#xff0c;这个数组的形状无非就三种&#xff1a; 一直上升下降(这里包含先下降后上升)先升后降 总结一下规律&#xff1…

智能AI愈发强大,企业如何防范AI网络钓鱼攻击

随着AI技术的快速发展&#xff0c;如ChatGPT等智能化工具在各个领域得到了广泛应用。然而&#xff0c;这些工具的普及也给网络安全带来了新的挑战。AI模型的自然语言生成功能使得网络钓鱼攻击更加智能化和隐蔽化&#xff0c;攻击者能够利用AI技术生成高度逼真的欺骗性邮件和其他…

银河麒麟操作系统下使用QT连接TiDB数据库开发步骤

目标:实现项目软件+硬件都运行在国产化操作系统平台上。 方法:在虚拟机中安装麒麟系统V10Sp1+Qt5.14.2+MySql8.0+TiDB软件,编译MySql驱动,测试连接TiDB数据库项目。 步骤: 1、使用虚拟机软件VMWare安装银河麒麟操作系统。 2、在银河麒麟系统上安装QT5.14.2软件。 3、…