JavaScript 运算符
JavaScript 中的运算符可以根据其功能和用途分为几类。以下是主要的运算符类型及其用法:
1. 算术运算符
用于执行基本的数学运算。
-
+: 加法let sum = 5 + 3; // 8 -
-: 减法let difference = 5 - 3; // 2 -
*: 乘法let product = 5 * 3; // 15 -
/: 除法let quotient = 5 / 2; // 2.5 -
%: 取余let remainder = 5 % 2; // 1 -
**: 幂运算(ES6引入)let power = 2 ** 3; // 82. 赋值运算符
用于将值赋给变量。
-
=: 赋值let x = 10; -
+=: 加并赋值x += 5; // 相当于 x = x + 5 -
-=: 减并赋值x -= 2; // 相当于 x = x - 2 -
*=: 乘并赋值x *= 2; // 相当于 x = x * 2 -
/=: 除并赋值x /= 2; // 相当于 x = x / 2 -
%=: 取余并赋值x %= 3; // 相当于 x = x % 3 -
**=: 幂并赋值x **= 2; // 相当于 x = x ** 23. 比较运算符
用于比较两个值,返回布尔值(
true或false)。 -
==: 相等(不严格类型检查)console.log(5 == '5'); // true -
===: 严格相等(严格类型检查)console.log(5 === '5'); // false -
!=: 不相等(不严格类型检查)console.log(5 != '5'); // false -
!==: 严格不相等(严格类型检查)console.log(5 !== '5'); // true -
>: 大于console.log(5 > 3); // true -
<: 小于console.log(5 < 3); // false -
>=: 大于或等于console.log(5 >= 5); // true -
<=: 小于或等于console.log(5 <= 3); // false4. 逻辑运算符
用于进行逻辑运算。
-
&&: 逻辑与console.log(true && false); // false -
||: 逻辑或console.log(true || false); // true -
!: 逻辑非console.log(!true); // false5. 位运算符
用于对数字的二进制位进行操作。
&: 按位与|: 按位或^: 按位异或~: 按位取反<<: 左移>>: 右移>>>: 无符号右移-
6. 条件运算符(三元运算符)
简化的条件语句,用于根据条件返回不同的值。
let age = 18; let canVote = (age >= 18) ? 'Yes' : 'No'; // 'Yes'7. 其他运算符
-
逗号运算符
,:用于在一个表达式中计算多个值,并返回最后一个值。let a = (1, 2, 3); // a 现在是 3 -
类型运算符
typeof:用于获取变量的类型。console.log(typeof 'hello'); // "string" -
instanceof:用于检测对象是否为某个构造函数的实例。
console.log([] instanceof Array); // true运算符优先级
-
在 JavaScript 中,运算符的优先级决定了表达式中各个运算符的计算顺序。以下是运算符的优先级从高到低的列表:
-
括号
() -
成员访问
.以及 数组索引[] -
自增/自减
++--(前缀) - 一元运算符
+-!~ - 乘法/除法/取余
*/% - 加法/减法
+- - 位移运算符
<<>>>>> - 关系运算符
<<=>>= - 相等运算符
==!====!== - 位与
& - 位异或
^ - 位或
| - 逻辑与
&& - 逻辑或
|| - 条件运算符
? : - 赋值运算符
=+=-=*=/=等 - 逗号运算符
总结:优先级 运算符 顺序 1 小括号、数组下标、字段访问 () [] 2 一元运算符 ! ++ -- 3 算数运算符 先 * / % 后 + 4 关系运算符 > >= < <= 5 相等运算符 == != === !== 6 逻辑运算符 先 && 后 || 7 赋值运算符 = -
注意事项:
- 括号 ()的使用可以改变运算符的优先级,确保按预期顺序计算。
- 一些运算符(如赋值运算符)是右结合的,而大多数其他运算符是左结合的,这意味着它们从左到右进行计算。
-
示例 -
考虑以下表达式
let result = 5 + 3 * 2; // 结果为 11,而不是 16在这个例子中,乘法运算符
*的优先级高于加法运算符+,因此3 * 2先计算,然后再加上5。 -
总结
了解 JavaScript 运算符及其用法能够帮助开发者编写更加高效和清晰的代码。在实际开发中,合理利用这些运算符可以提高代码的可读性和维护性。
相关文章:
JavaScript 运算符
JavaScript 中的运算符可以根据其功能和用途分为几类。以下是主要的运算符类型及其用法: 1. 算术运算符 用于执行基本的数学运算。 : 加法 let sum 5 3; // 8- : 减法 let difference 5 - 3; // 2* : 乘法 let product 5 * 3; // 15/ : 除法 let quotient 5…...
3.js - 运动曲线
这个球,绕着这个红色的线圈转 代码 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControlslet scene,camera,renderer,controls nulllet moon,earth null// 根据,一系列的点,创建曲线 le…...
免费ppt模板哪里找?职场必备这些利器
一眨眼,9月份的尾声渐近,无论是学生还是职场人士,都开始准备着新一轮的演讲和报告。在这个忙碌的时期,一份精美的PPT模板能够大幅提升你的工作效率,让你的演示更加引人入胜。 不用担心高昂的版权费用,市场…...
wampserve 配置本地域名,出现错误
概述 今天更换了电脑,在本地安装和配置docker的时候,想用自定义域名访问NGINX容器,127.0.0.1和localhost都可以访问,但是自定义域名无法访问, 接着去捯饬已经使用的wampserver的集成环境,出现了同样的问题…...
MySQL慢查询优化指南
博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 当遇到慢查询问题时,不仅影响服务效率,还可能成为系统瓶颈。作为一位软件工程师,掌握MySQL慢查询优化技巧至关重要。今天,我们就来一场“数据库加速之旅…...
怎么录制游戏视频?精选5款游戏录屏软件
对于热爱游戏的你来说,记录游戏中的精彩瞬间并分享给朋友或粉丝,无疑是一种享受。然而,在众多录屏软件中,如何选择最适合你的那一款?今天,我们就为大家精选了五款游戏录屏软件,需要的朋友快来选…...
论文阅读 - MDFEND: Multi-domain Fake News Detection
https://arxiv.org/pdf/2201.00987 目录 ABSTRACT INTRODUCTION 2 RELATED WORK 3 WEIBO21: A NEW DATASET FOR MFND 3.1 Data Collection 3.2 Domain Annotation 4 MDFEND: MULTI-DOMAIN FAKE NEWS DETECTION MODEL 4.1 Representation Extraction 4.2 Domain Gate 4.…...
LabVIEW软件出现Bug如何解决
在LabVIEW开发中,程序出现bug是不可避免的。无论是小型项目还是复杂系统,调试与修复bug都是开发过程中的重要环节。下文介绍如何有效解决LabVIEW软件中的bug,包括常见错误类型、调试工具、错误处理机制。 1. 常见Bug类型分析 在LabVIEW中&am…...
【数据结构-栈】力扣844. 比较含退格的字符串
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 示例 1: 输入:s “ab#c”, t “…...
DataFrame生成excel后为什么多了一行数字
问题描述 python查询数据生成excel文件,生成的excel多了第一行数字索引,1,2,3,4,5...... 代码: df pd.DataFrame(data)df.to_excel(filename, sheet_name用户信息表, indexFalse) 解决: 原理也很简单,就是设置个参…...
linux 内存屏障(barrier)分析
谈起内存屏障,大家感觉这个"玩意儿"很虚,不太实际,但是内核代码中又广泛地可以看到起身影。内存屏障,英文barrier,这个"玩意儿"它还不太好去定义它。barrier,中文翻译为栅栏,栅栏大家都见过,现实生活中就是防止他人或者动物非法闯入而用来进行隔…...
【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)
目录 一、引言 二、文生文(text2text-generation) 2.1 概述 2.2 Flan-T5: One Model for ALL Tasks 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 2.3.3 pipeline返回参数 …...
如何使用ssm实现基于VUE的儿童教育网站的设计与实现+vue
TOC ssm676基于VUE的儿童教育网站的设计与实现vue 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全…...
MODBUS TCP 转 CANOpen
产品概述 SG-TCP-COE-210 网关可以实现将 CANOpen 接口设备连接到 MODBUS TCP 网络中。用户不需要了解具体的 CANOpen 和 Modbus TCP 协议即可实现将CANOpen 设备挂载到 MODBUS TCP 接口的 PLC 上,并和 CANOpen 设备进行数据交互。 产品特点 …...
vue2+elementUI实现handleSelectionChange批量删除-前后端
功能需求:实现选中一个或多个执行批量删除操作 在elementUI官网选择一个表格样式模板,Element - The worlds most popular Vue UI framework 这里采用的是 将代码复制到前端,这里是index.vue <template><el-button type"dang…...
LLMs之OCR:llm_aided_ocr(基于LLM辅助的OCR项目)的简介、安装和使用方法、案例应用之详细攻略
LLMs之OCR:llm_aided_ocr(基于LLM辅助的OCR项目)的简介、安装和使用方法、案例应用之详细攻略 目录 llm_aided_ocr的简介 1、特性 2、详细技术概览 PDF处理和OCR PDF到图像转换 OCR处理 文本处理流程 分块创建 错误校正与格式化 重复内容移除 标题和页码…...
低代码平台后端搭建-阶段完结
前言 最近又要开始为跳槽做准备了,发现还是写博客学的效率高点,在总结其他技术栈之前准备先把这个专题小完结一波。在这一篇中我又试着添加了一些实际项目中可能会用到的功能点,用来验证这个平台的扩展性,以及总结一些学过的知识。…...
暑假考研集训营游记
文章目录 摘要:1.对各大辅导机构考研封闭集训营的一些个人看法:2.对于考研原因一些感想:结语 摘要: Ashy在暑假的时候参加了所在辅导班的为期一个月的考研封闭集训营,有了一些全新的感悟,略作记录。 1.对…...
C#中的报文(Message)
在C#中,报文(Message)通常是指在网络通信中交换的数据单元。报文可以由多种不同的组成部分构成,具体取决于通信协议和应用场景。 以下是一些常见的报文组成部分: 头部(Header):包含…...
Python知识点:如何使用Python与Java进行互操作(Jython)
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! Jython 是一种完全兼容 Java 的 Python 实现,它将 Python 代码编译成…...
Vaadin Framework:现代Java Web应用开发的终极解决方案
Vaadin Framework:现代Java Web应用开发的终极解决方案 【免费下载链接】framework Vaadin 6, 7, 8 is a Java framework for modern Java web applications. 项目地址: https://gitcode.com/gh_mirrors/framework225/framework Vaadin Framework是一个功能强…...
从决策树到XGBoost:核心原理、目标函数与工程优化全解析
1. 从“头发长短”到“预测房价”:决策树的灵魂与回归树的诞生很多朋友第一次接触XGBoost,或者更广义的树模型时,都会被一堆公式和术语劝退。什么信息增益、基尼系数、正则项、二阶泰勒展开……看几篇博客,感觉每篇都在自说自话&a…...
长期项目使用Taotoken Token Plan套餐的成本控制实际体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期项目使用Taotoken Token Plan套餐的成本控制实际体验 1. 项目背景与成本挑战 在为期数月的AI应用开发项目中,我们…...
解密冰蝎和蚁剑:在CTF流量分析中如何识别和还原WebShell攻击(含AES/Base64解密实操)
解密冰蝎与蚁剑:CTF流量分析中的WebShell识别与解密实战 在CTF竞赛和安全分析领域,WebShell流量分析一直是让许多选手头疼的高阶挑战。特别是当面对冰蝎(Behinder)、蚁剑(AntSword)这类采用强加密通信的Web…...
3分钟告别窗口切换烦恼:Borderless Gaming让你的游戏体验无缝衔接
3分钟告别窗口切换烦恼:Borderless Gaming让你的游戏体验无缝衔接 【免费下载链接】Borderless-Gaming Play your favorite games in a borderless window; no more time consuming alt-tabs. 项目地址: https://gitcode.com/gh_mirrors/bo/Borderless-Gaming …...
2026生鲜零售收银软件推荐:四大主流方案深度对比
开一家生鲜店,最让人头疼的往往不是进货渠道或选址,而是每天高峰期那台“卡住”的收银机。想象一下,周末傍晚顾客排成长龙,称重员手忙脚乱地输入代码,屏幕转圈加载,后面的顾客开始不耐烦地催促,…...
如何扛住十万级流量洪峰?扒开高并发架构的五层防御体系
在互联网的残酷战场上,流量既是黄金,也是洪水。试想这样一个场景:你们公司花重金请了一位顶流代言人,晚上 8 点准时开启一场“一元秒杀”活动。时间一到,原本平时只有几百 QPS(每秒请求数)的系统…...
阿里企业邮箱代理:阿里企业邮箱与钉钉协同办公技术实践
前言在国内企业数字化办公趋势下,单一邮件通讯早已无法满足企业日常管理需求,邮箱与内部办公软件深度融合成为主流趋势。阿里企业邮箱与钉钉生态无缝打通,实现账号互通、消息联动、日程同步、办公审批联动等多项实用功能,极大提升…...
Flowable 6.7.2 适配达梦数据库踩坑实录:从驱动到Liquibase源码修改全攻略
Flowable 6.7.2 深度适配达梦数据库实战指南:从驱动配置到源码级改造 在国产化替代浪潮中,数据库迁移往往是技术团队面临的首要挑战。当工作流引擎Flowable遇上国产数据库达梦(DM),两者的"语言不通"会导致一系列兼容性问题。本文将…...
Vue3代码编辑器终极指南:5分钟学会vue-codemirror专业集成
Vue3代码编辑器终极指南:5分钟学会vue-codemirror专业集成 【免费下载链接】vue-codemirror codemirror code editor component for vuejs 项目地址: https://gitcode.com/gh_mirrors/vu/vue-codemirror 你是否曾经在Vue3项目中苦苦寻找一个既专业又易用的代…...
