JavaScript系列从入门到精通系列第七篇:JavaScrip当中的运算符,主要涉及JavaScript当中的六大数据类型的四则运算
文章目录
前言
一:算数运算符
1:Number类型的四则运算
2:其他数据类型的四则运算
(一):加法运算
(二):减法运算
3:乘法运算
4:除法运算
5:取模运算

前言
运算符也叫操作符。通过运算符对一个或者多个值进行运算,并获取结果。typeOf a就是运算符,获取一个值的类型。
var result = 123;
console.log(typeOf result);//number
将该值的类型以字符串的形式返回。number,string,boolean,undefined,object。typeOf运算符返回的值是一个字符串。
一:算数运算符
1:Number类型的四则运算
算数运算符就是+-*/%,运算符不会对原变量进行修改。只会将计算完毕的结果返回。这个真的没有什么好说的,四则运算放之四海而皆准,到哪里都是这么算!
2:其他数据类型的四则运算
(一):加法运算
当对非Number类型的数据进行四则运算时,首先会将这些数据类型转换为Number类型,然后在进行四则运算。这里边,除了字符串的加法。
var result = true + false;
console.log(result);//1
var result = null + 2;
console.log(result);//NaN
var result = 2+NaN;
console.log(result);//NaN
任何值和NaN进行四则运算都是NaN.
var result = "123"+"456";
console.log(result);//123456
两个字符串相加的话,本质上起的是拼接的作用。也就是在我们的+运算下,如果是对两个字符串进行操作,他起的是拼接的操作。
var result = "您好"+"大帅哥";
console.log(result);//您好大帅哥
var result = "123"+1;
console.log(result);//1231
任何一个值和字符串相加,都必须准换为字符串然后拼接。
var result = true + "hello";
console.log(result);//truehello
var c = 123;
c = c + "";
console.log(tyoeOf c);//string
这样有发现了一种可以转换为String类型的方法。当然,这种本质上也是调用了String(),只不过这么写更简单一些。
var c = 123;
console.log("c = " + c);
var result = 1 +2 + "3";
console.log(result);//33
这个要特别注意。最终结果是33
var result = "1" + 2 + 3;
console.log(result);//123
总结一下:
加法可以对两个值记性加法运算,并将结果返回。
如果对两个字符串进行加法运算,会将两个字符串拼接进行返回。
任何值和字符换进行加法运算,都会先转换为字符串,然后进行拼接。
(二):减法运算
除了加法中跟字符串相加的那种场景,其余的都是转换为Number类型在进行运算。
var result = 100 - 5;
console.log(result); //95
var result = 100 - true ;
console.log(result); // 99
var result = 100 - "1";
console.log(result);//99
足以看到,只有字符串的加法是特殊的,其余的都是转成Number类型在进行运算。
3:乘法运算
只有字符串的加法是特殊的,其余的都是转成Number类型在进行运算。
var result = 2 * "2";
console.log(result);//4
var result = 2 * undefined;
console.log(result);//NaN
var result = 2 * null;
console.log(result);//NaN
4:除法运算
只有字符串的加法是特殊的,其余的都是转成Number类型在进行运算。
var result = 2 / "2";
console.log(result);//1
var result = 4 / "2";
console.log(result);//2
var result = 3 / "2";
console.log(result);//1.5
var result = "123" / 1;
console.log(result);//123
通过这种方式,可以完成因式类型转换,变成Number类型 ,作用和Number类型一致,但是更加简便
5:取模运算
只有字符串的加法是特殊的,其余的都是转成Number类型在进行运算。取模就是取余数。
var result = 2 % "2";
console.log(result);//0
var result = 9 % "4";
console.log(result);//1


相关文章:
JavaScript系列从入门到精通系列第七篇:JavaScrip当中的运算符,主要涉及JavaScript当中的六大数据类型的四则运算
文章目录 前言 一:算数运算符 1:Number类型的四则运算 2:其他数据类型的四则运算 (一):加法运算 (二):减法运算 3:乘法运算 4:除法运算 5:取模运算 前言 运算符也叫操作符。…...
计算机网络 实验二 交换机的基本配置
实验二 交换机的基本配置 实验目的 • 掌握交换机的配置方式及切换命令; • 掌握交换机端口的基本配置; • 掌握交换机mac地址的查看与管理方法。 实验设备 以太网交换机一台服务器一台PC机五台配置电缆、网线若干 网络拓扑及IP地址分配 给计算…...
Tor网络的全面解析
一、Tor网络概述 Tor网络,即“洋葱路由器”(The Onion Router),是一种用于保护用户隐私、避免网络监控的开源软件,可以实现匿名访问互联网。 Tor网络通过多重加密和随机转发,将用户的流量从多个节点中进行…...
数据集笔记:2015上海地铁一卡通数据
数据地址:上海地铁数据_免费高速下载|百度网盘-分享无限制 (baidu.com) 数据介绍 上海2015年几天的地铁一卡通出入站信息 卡号、交易日期、交易时间、公交线路/地铁站点中文名称、行业名称(公交、地铁、出租、轮渡、PR停车场)、交易金额、交易性质(非优惠、优惠、…...
【小沐学C++】C++ 基于Premake构建工程项目(Windows)
文章目录 1、简介2、下载和安装2.1 下载2.3 快速入门 3、使用3.1 支持的工程文件Project Files3.2 构建设置Build Settings3.3 链接Linking3.4 配置Configurations3.5 平台Platforms3.6 过滤Filters3.7 预设值Tokens 4、测试4.1 测试1:入门例子4.2 测试2:…...
Linux shell编程学习笔记2:我是谁 | who am i ?
〇、更新记录 20230926 补充例子2 一、前言 由于Linux系统的shell有许多种:sh、bash、cshell、tcsh、zsh……这些shell以sh为基础对象,在保持兼容性时又各有有创建,形成自己的功能特点,要想让我们编写的shell代码正确、可靠运行…...
移动端和PC端对比【组件库+调试vconsole +单位postcss-pxtorem+构建vite/webpack+可视化echarts/antv】
目录 组件库 移动端 vue vant PC端 react antd vue element 调试:vconsole vs dev tools中的控制台(Console) vconsole:在真机上调试 postcss-pxtorem:移动端不同的像素密度 构建工具 webpack 原理 Ba…...
maven多模块依赖包程序包xxx不存在
背景 rpc-common 被 rpc-server、rpc-client依赖 项目地址 https://github.com/pjmike/springboot-rpc-demo mvn clean install 打包时报错 报错信息 程序包xxxx不存在 找不到符号 原因分析 原因还不清楚,网友们帮解答一下 解决 主pom.xml 添加 <packaging…...
iOS17.0.2更新修复iPhone 15系列机型数据迁移问题,附新机快速数据迁移办法!
iPhone 15 系列机型已于今日正式发售,为解决iPhone15这些机型出现的数据迁移问题,苹果紧急发布了 iOS 17.0.2 更新,内部版本号为 21A350。 需要注意的是, iOS 17.0.2 更新仅适用于 iPhone 15、iPhone 15 Plus、iPhone 15 Pro 和 …...
面试题库(八):docker和linux
docker docker的原理?dockerfile里面用过什么命令?用过docker?dockerfile写过吗,常用命令,说下分层原理docker 部署有什么好处?docker 的底层原理是什么?namespace 和 cgroups,一个隔离环境,一个控制资源配额。那隔离环境主要隔离什么环境?docker镜像和容器有什么区别…...
深入理解传输层协议:TCP与UDP的比较与应用
目录 前言什么是TCP/UDPTCP/UDP应用TCP和UDP的对比总结 前言 传输层是TCP/IP协议栈中的第四层,它为应用程序提供服务,定义了主机应用程序之间端到端的连通性。在本文章,我们将深入探讨传输层协议,特别是TCP和UDP协议的原理和区别…...
Python-表白小程序练习
测试代码 在结果导向的今天,切勿眼高于顶,不论用任何方法能转换、拿出实际成果东西才是关键,即使一个制作很简易的程序,你想将其最终生成可运行的版本也是需要下一番功夫的。不要努力成为一个嘴炮成功者,要努力成为一个有价值的人…...
浅谈ChatGPT附免费体验地址
首先,让我来介绍一下ChatGPT是什么。ChatGPT是由OpenAI开发的大型语言模型,它代表着自然语言处理领域的最新进展。这个模型是通过大量的数据和先进的深度学习技术训练而成,具备了强大的语言理解和生成能力。 那么,ChatGPT能做些什…...
队列的使用以及模拟实现(C++版本)
🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…...
RV1126笔记四十一:RV1126移植LIVE555
若该文为原创文章,转载请注明原文出处。 RV1126的SDK有提供了一个librtsp.a封装好的RTSP推流库,但不开源,还有个确定延时长,所以想自己写一个RTSP的推流,但不想太麻烦,所以使用Live555。 记录下移植过程和测试结果。 live555需要用到的包有 openssl 和live555 一、 编…...
stable diffusion模型评价框架
GhostReview:全球第一套AI绘画ckpt评测框架代码 - 知乎大家好,我是_GhostInShell_,是全球AI绘画模型网站Civitai的All Time Highest Rated (全球历史最高评价) 第二名的GhostMix的作者。在上一篇文章,我主要探讨自己关于ckpt的发展方向的观点…...
电脑开机慢问题的简单处理
电脑用久了,开机时间要10-20分钟特别慢,一下介绍两种简单有效处理方式,这两种方式经测试不会影响原系统软件的使用: 方式一:禁用非必要启动项【效果不是很明显】 利用360里面的优化加速禁用启动项【禁用启动项还有其…...
SpringMVC-Rest风格
一、简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描述形式 http://localhost/user/getById?id1 查询id为1的用户信息…...
WebGL实现透明物体(α混合)
目录 α混合 如何实现α混合 1. 开启混合功能: 2. 指定混合函数 混合函数 gl.blendFunc()函数规范 可以指定给src_factor和dst_factor的常量 混合后颜色的计算公式 加法混合 半透明的三角形(LookAtBlendedTriangl…...
RecycleView刷新功能
RecycleView刷新某一个Item,或这某一个Item中某一个View。 这样的需求,在实际的开发中是很普遍的。 在数据变化后需要刷新列表。 刷新列表有三种方式: 前两种大家应该很熟,第三中会有点陌生。 那么这三种方式,有什…...
Ardupilot无人船新手必看:从遥控器开关到地面站,3档模式设置保姆级教程
Ardupilot无人船控制模式全解析:从基础配置到高阶应用实战 第一次接触Ardupilot无人船时,最让人困惑的莫过于各种控制模式的区别与适用场景。作为开源自动驾驶系统的标杆,Ardupilot为无人船提供了多达14种控制模式,每种模式都有其…...
告别手动画图!用Perl脚本自动化统计MS动力学模拟中的氢键(附脚本下载)
用Perl脚本实现MS动力学模拟中氢键的自动化统计与分析 在分子动力学模拟研究中,氢键作为影响材料性能的关键因素之一,其动态变化规律往往需要从海量轨迹数据中提取。传统手动分析方法不仅效率低下,还容易引入人为误差。本文将介绍如何利用Per…...
IC设计五大典型Bug剖析:从CDC到软硬件协同的防御性设计
1. 项目概述:IC设计中的那些“老朋友”在芯片设计的江湖里混迹多年,我越来越觉得,我们这些IC工程师(ICer)的日常,与其说是在创造,不如说是在与各种层出不穷的“老朋友”——也就是bug——斗智斗…...
初创团队如何利用Taotoken的Token Plan实现AI成本优化
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用Taotoken的Token Plan实现AI成本优化 对于资源有限的初创团队而言,在产品开发中引入大模型能力已成为…...
PTA天梯赛L2-007家庭房产题解:用C++并查集+结构体搞定复杂家庭关系统计(附完整代码)
PTA天梯赛L2-007家庭房产题解:C并查集与结构体的高效应用 在算法竞赛中,处理复杂关系网络是常见挑战。PTA天梯赛L2-007"家庭房产"题目正是这类问题的典型代表,要求选手统计每个家庭的人口、房产套数和人均面积。这道题看似简单&am…...
终极指南:5个简单步骤让魔兽争霸3在现代电脑上完美运行
终极指南:5个简单步骤让魔兽争霸3在现代电脑上完美运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争霸…...
词达人自动化助手:终极指南让英语词汇学习效率提升10倍
词达人自动化助手:终极指南让英语词汇学习效率提升10倍 【免费下载链接】cdr 微信词达人,高正确率,高效简洁。支持班级任务及自选任务 项目地址: https://gitcode.com/gh_mirrors/cd/cdr 厌倦了在词达人平台上花费数小时完成重复的词汇…...
嘎嘎降AI和去AIGC深度对比:2026年按次计费和按篇计费哪个更划算完整评测分析
嘎嘎降AI和去AIGC深度对比:2026年按次计费和按篇计费哪个更划算完整评测分析 总有人问嘎嘎降AI,这篇文章把主流几款对比清楚。 综合推荐嘎嘎降AI(www.aigcleaner.com),4.8元,99.26%达标率。不同需求有不同…...
别再乱用nn.Flatten了!详解start_dim与end_dim参数,避坑数据维度混淆
深度解析PyTorch中的nn.Flatten:从参数误区到实战应用 在深度学习模型的构建过程中,数据维度的处理往往成为许多开发者容易忽视却又至关重要的环节。特别是当我们需要将卷积层的输出传递给全连接层时,nn.Flatten操作几乎成为了标准配置。然而…...
【免费下载】 青藏高原矢量边界数据下载
青藏高原矢量边界数据下载 【下载地址】青藏高原矢量边界数据下载 青藏高原矢量边界数据下载 项目地址: https://gitcode.com/open-source-toolkit/7d915 数据简介 本仓库提供青藏高原的矢量边界数据下载。该数据可在ARCGIS中直接导入并打开,附带坐标系统信…...
