【JavaScript】JavaScript 运算符 ⑤ ( 赋值运算符 | 基础赋值运算符 与 复合赋值运算符 )

文章目录

  • 一、JavaScript 赋值运算符
    • 1、赋值运算符 概念
    • 2、基础赋值运算符 与 复合赋值运算符
    • 3、复合赋值运算符
    • 4、完整代码示例





一、JavaScript 赋值运算符



JavaScript 赋值运算符种类 :

  • 基础赋值运算符 :
    • 等于 : = ;
  • 复合赋值运算符 :
    • 加等 : +=
    • 减等 : -=
    • 乘等 : *=
    • 除等 : /=
    • 取模等 : %=
    • 有符号左移等 : <<=
    • 有符号右移等 : >>=
    • 无符号左移等 : <<<=
    • 无符号右移等 : >>>=

1、赋值运算符 概念


在 JavaScript 语言中 , " 赋值运算符 " 的 作用是 为 变量 分配值 ;

最基础的 " 赋值运算符 " 是 = , 该运算符的作用是 将 = 右侧的值 分配给 = 左侧的 变量 ;


代码示例 :

// 为 变量 num 分配 数字类型值 3
var num = 3;  

2、基础赋值运算符 与 复合赋值运算符


在 JavaScript 语言中 , 除了 最基础的 " 赋值运算符 " = 之外 , 还有很多 " 复合赋值运算符 " ,

" 复合赋值运算符 " 在进行 赋值 的同时 , 还可以附带 执行一些其他的运算 ;


我们要对 var num = 3; 变量 进行 自增 1 的操作 , 使用 num++ 即可 ,

如果要对 num 变量 进行自增 10 操作 , 此时就需要使用 " 复合赋值运算符 " 了 , num += 10 ;


3、复合赋值运算符


复合赋值运算符 :

  • 加等 : += , 将 赋值运算符 右侧的值 加到 左侧的变量上 , 然后将运算结果赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 加 10 , 然后将运算结果 , 赋值给 num 变量  
num += 10;
console.log(num); // 输出 : 13
  • 减等 : -= , 将 赋值运算符 左侧的变量 减去 右侧的值 , 然后将 运算结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 减 10 , 然后将运算结果 , 赋值给 num 变量  
num -= 10;
console.log(num); // 输出 : -7
  • 乘等 : *= , 将 赋值运算符 左侧的变量 乘以 右侧的值 , 然后将 运算结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 乘以 10 , 然后将运算结果 , 赋值给 num 变量  
num *= 10;
console.log(num); // 输出 : 30
  • 除等 : /= , 将 赋值运算符 左侧的变量 除以 右侧的值 , 然后将 运算结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 除以 10 , 然后将运算结果 , 赋值给 num 变量  
num /= 10;
console.log(num); // 输出 : 0
  • 取模等 : %= , 将 赋值运算符 左侧的变量 对右侧的值 取模 , 然后将 取模运算的结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 乘以 10 , 然后将运算结果 , 赋值给 num 变量  
num %= 10;
console.log(num); // 输出 : 3
  • 有符号左移等 : <<= , 将 赋值运算符 左侧的变量的 二进制值 向左移动指定的位数 , 然后将 运算结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 左移 1 位 , 然后将运算结果 , 赋值给 num 变量  
// 二进制 11 左移 1 位变为 二进制 110 , 结果为 6
num <<= 1;
console.log(num); // 输出 : 6
  • 有符号右移等 : >>= , 将 赋值运算符 左侧的变量的 二进制值 向右移动指定的位数 , 然后将 运算结果 赋给左侧的变量 ;
// 为 变量 num 分配 数字类型值 3
var num = 3;// 为 num 变量 右移 1 位 , 然后将运算结果 , 赋值给 num 变量  
// 二进制 11 右移 1 位变为 二进制 01 , 结果为 1
num >>= 1;
console.log(num); // 输出 : 1

4、完整代码示例


完整代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// 赋值运算符// 为 变量 num 分配 数字类型值 3var num = 3;// 为 num 变量 加 10 , 然后将运算结果 , 赋值给 num 变量  num += 10;console.log(num); // 输出 : 13num = 3;// 为 num 变量 减 10 , 然后将运算结果 , 赋值给 num 变量  num -= 10;console.log(num); // 输出 : -7num = 3;// 为 num 变量 乘以 10 , 然后将运算结果 , 赋值给 num 变量  num *= 10;console.log(num); // 输出 : 30num = 3;// 为 num 变量 除以 10 , 然后将运算结果 , 赋值给 num 变量  num /= 10;console.log(num); // 输出 : 0.3num = 3;// 为 num 变量 左移 1 位 , 然后将运算结果 , 赋值给 num 变量  // 二进制 11 左移 1 位变为 二进制 110 , 结果为 6num <<= 1;console.log(num); // 输出 : 6num = 3;// 为 num 变量 右移 1 位 , 然后将运算结果 , 赋值给 num 变量  // 二进制 11 右移 1 位变为 二进制 01 , 结果为 1num >>= 1;console.log(num); // 输出 : 1</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB的安装方法图文详细

官网&#xff1a;www.mongodb.com 选择 Products > Community Edition 就能进入社区版 在这里下载 windows 版对应的安装包 注意&#xff1a;6.0.1 版本的 MongoDB 配置环境变量有问题&#xff0c;并且我不知道怎么解决&#xff0c;如果想要避免出问题&#xff0c;建议使…

【javaWeb】在webapp中手动发布一个应用

标题 &#x1f432;一、为什么要在webapp中手动发布一个应用&#x1f389;二、手动发布步骤1.下载Tomcat2.解压并安装3.在webapps中创建文档 ✨三、总结 &#x1f432;一、为什么要在webapp中手动发布一个应用 好处解释灵活性手动发布应用程序可以根据自己的需求进行自定义配置…

《PyTorch 深度学习实战》- 第一章 深度学习回顾和PyTorch简介

《PyTorch 深度学习实战》- 第一章 深度学习回顾和PyTorch简介 1.1 PyTorch的历史 pytorch前身是Torch&#xff0c;Torch使用Lua和C语言&#xff0c;而后因为python的兴起&#xff0c;演变成为PyTorch。事实上&#xff0c;pytorch是提供动态图功能的chainer分支。 pytorch与…

【php基础】输出、变量、

php基础补充 1. 输出2.和"的区别3.变量3.1变量的命名规则3.2 两个对象指向同一个值3.3 可变变量 4.变量的作用域5. 检测变量 1. 输出 echo: 输出 print: 输出&#xff0c;输出成功返回1 print_r(): 输出数组 var_dump(): 输出数据的详细信息&#xff0c;带有数据类型和数…

将FastSAM中的TextPrompt迁移到MobileSAM中

本博文简单介绍了SAM、FastSAM与MobileSAM,主要关注于TextPrompt功能的使用。从性能上看MobileSAM是最实用的,但其没有提供TextPrompt功能,故而参考FastSAM中的实现,在MobileSAM中嵌入TextPrompt类。并将TextPrompt能力嵌入到MobileSAM官方项目提供的gradio.py部署代码中,…

字母异位词分组【每日一题】

可以通过案例找到规律&#xff0c;每个词排序完后是同一个&#xff0c;所以通过hasmap存储排序过的值做key&#xff0c;值是存储单词集合。 package HasTable;import java.util.*;class Solution {static List<List<String>> groupAnagrams(String[] strs) {Map&l…

GPT-1, GPT-2, GPT-3, InstructGPT / ChatGPT and GPT-4 总结

1. GPT-1 What the problem GPT-1 solve? 在 GPT-1 之前&#xff0c;NLP 通常是一种监督模型。 对于每个任务&#xff0c;都有一些标记数据&#xff0c;然后根据这些标记数据开发监督模型。 这种方法存在几个问题&#xff1a;首先&#xff0c;需要标记数据。 但 NLP 不像 CV&…

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

&#x1f31f; 绘图神器 ioDraw 重磅更新&#xff0c;文件保存再无忧&#xff01;&#x1f389; 无需注册&#xff0c;即刻畅绘&#xff01;✨ ioDraw 让你告别繁琐注册&#xff0c;尽情挥洒灵感&#xff01; 新增文件在线实时保存功能&#xff0c;支持将绘图文件保存到 GitHu…

VScode(8)之阅读大型CC++工程

VScode(8)之阅读大型CC工程(Linux内核)代码 Author&#xff1a;Once Day Date&#xff1a;2023年4月25日/2024年3月17日 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章请查看专栏: VScode开发_Once-Day的博客-CSDN博客 参考文档: 1. 历史包袱 由于上世纪70-80年代的…

NBlog Java定时任务-备份MySQL数据

NBlog部署维护流程记录&#xff08;持续更新&#xff09;&#xff1a;https://blog.csdn.net/qq_43349112/article/details/136129806 为了避免服务器被攻击&#xff0c;给博客添加了一个MySQL数据备份功能。 此功能是配合博客写的&#xff0c;有些方法直接用的已有的&#xf…

如何在不带备份的情况下恢复 Android 手机照片?

你的 Android 手机出了什么问题&#xff1f; Android 手机上的垃圾文件过多。 您的 Android 手机屏幕黑屏。 您的手机蓝屏死机。 您的设备卡在启动屏幕上。 电话停止工作。 手机一直关机。 ... 您是否遇到过以上情况并将您的 Android 手机恢复出厂设置&#xff1f;如果是这样&…

cartographer学习与使用

记录一下在配置和使用cartographer建图时遇到的各种问题吧。 我的数据 配置文件&#xff1a; my_rslidar.launch <launch> <param name"/use_sim_time" value"false" /> <!--启动建图节点--> <node name"cartographer_n…

【人工智能】英文学习材料01(每日一句)

&#x1f33b;个人主页&#xff1a;相洋同学 &#x1f947;学习在于行动、总结和坚持&#xff0c;共勉&#xff01; 目录 1.Natural Language Processing&#xff0c;NLP&#xff08;自然语言处理&#xff09; 2.Machine Learing&#xff0c;ML&#xff08;机器学习&#xf…

【Java基础知识总结 | 第三篇】深入理解分析ArrayList源码

文章目录 3.深入理解分析ArrayList源码3.1ArrayList简介3.2ArrayLisy和Vector的区别&#xff1f;3.3ArrayList核心源码解读3.3.1ArrayList存储机制&#xff08;1&#xff09;构造函数&#xff08;2&#xff09;add()方法&#xff08;3&#xff09;新增元素大体流程 3.3.2ArrayL…

pyspark基础 -- DataFrame的理解与案例

DataFrame(df)介绍 datafram就是一个内存中的二维表结构&#xff0c;具备表结构的三个基本属性&#xff1a; 行列表结构描述 在结构层面&#xff0c;pyspark中的StructType对象描述了表结构&#xff0c;StructField对象描述了表的一个列信息&#xff1b;在数据层面&#xff…

网络学习:邻居发现协议NDP

目录 前言&#xff1a; 一、报文内容 二、地址解析----NS/NA 目标的被请求组播IP地址 邻居不可达性检测&#xff1a; 重复地址检测 路由器发现 地址自动配置 默认路由器优先级和路由信息发现 重定向 前言&#xff1a; 邻居发现协议NDP&#xff08;Neighbor Discovery…

html5黑色大气的个人博客全屏滚动个人主页源码HTML+JS+CSS

html5黑色大气的个人博客全屏滚动个人主页源码HTMLJSCSS

企业数据流动安全管理软件(深度解析文章)

企业数据重要性不言而喻&#xff0c;而同时数据的流动和共享也带来了安全风险&#xff0c;如何确保企业数据在流动过程中的安全性&#xff0c;也成为了企业需要面临的重要问题。 企业数据流动安全管理软件的主要功能是监控和管理企业数据的流动过程。 它能够对企业内部的数据…

图解Kafka架构学习笔记(一)

本文参考尚硅谷大数据技术之Kafka。 消息队列 &#xff08;1&#xff09;点对点模式&#xff08;一对一&#xff0c;消费者主动拉取数据&#xff0c;消息收到后消息清除&#xff09; 点对点模型通常是一个基于拉取或者轮询的消息传送模型&#xff0c;这种模型从队列中请求信息…

Transformer的前世今生 day02(神经网络语言模型

神经网络语言模型 使用神经网络的方法&#xff0c;去完成语言模型的两个问题&#xff0c;下图为两层感知机的神经网络语言模型&#xff1a; 以下为预备概念 感知机 线性模型可以用下图来表示&#xff1a;输入经过线性层得到输出 线性层 / 全连接层 / 稠密层&#xff1a;假…