JavaScript系列从入门到精通系列第六篇:JavaScrip当中的运算符,主要涉及JavaScript当中的六大数据类型的四则运算

news2024/11/24 22:44:11

文章目录

前言

一:算数运算符

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

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

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

相关文章

极大似然函数和似然函数的区别

极大似然函数和似然函数 "极大似然函数"和"似然函数"是统计学和机器学习中常见的两个概念,它们之间的区别在于它们在不同上下文中的使用方式: 似然函数(Likelihood Function): 似然函数通常表示为…

[pai-diffusion]pai的easynlp的diffusion模型训练

PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋 - 知乎作者:汪诚愚、段忠杰、朱祥茹、黄俊导读近年来,随着海量多模态数据在互联网的爆炸性增长和训练深度学习大模型的算力大幅提升,AI生成内容(AI Gen…

基于微信小程序快递取件上门预约服务系统设计与实现(开题报告+任务书+源码+lw+ppt +部署文档+讲解)

文章目录 前言运行环境说明用户的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取 前言 💗博主介绍:✌…

电子电子架构——AUTOSAR信息安全机制有哪些(下)

电子电子架构——AUTOSAR信息安全机制有哪些(下) 我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要…

使用FastChat部署Baichuan2

1. 引言 近来,大型语言模型的市场需求呈现出蓬勃发展的态势。然而,仅仅掌握模型的数据准备和训练是不够的,模型的部署方法也变得至关重要。在这篇文章中,我们将以Baichuan2为例,利用FastChat进行模型部署的实战操作。…

IDEA 中 Maven 报错 Cannot resolve xxx【终于解决了】

问题 pom中已经添加相关依赖,maven刷新也没有用,依旧是疯狂报错 解决办法 不断的查询资料,总结一下试过的办法。 解决办法一:清除缓存 File -> Invalidate Caches/Restart -> Invalidate And Restart 试了之后也就报错 …

C# EPPlus 访问 Excel表格

EPPlus是什么? 一个访问Excel表格的库,调用相当简单 怎么访问? 表格可以简单理解成一个二维数组我希望访问表格像二维数组一样简单我希望消耗不算太大 封装一个类 下载DLL以及这个文件:《下载传送门->》 注意需要导入EP…

uniapp iOS离线打包——上传到App Store

uniapp iOS离线打包,如何打包上传到App Store? 文章目录 uniapp iOS离线打包,如何打包上传到App Store?打包上传 App Store App iOS 离线打包 上一篇分享部分工程配置 打包上传 App Store 选中项目工程:点击 工具栏 P…

虚幻4学习笔记(14)界面切换、局域网联机

虚幻4学习笔记 创建游戏加入游戏搜索服务器加入服务器刷新服务器 B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732 创建游戏 新建三个UI界面 FindServer、JoinServer、MainMenu 打开MainMenu 打开FindServer 添加Scroll Box滚动框 添加Circular T…

【计算机网络】——应用层

// 图片取自王道 仅做交流学习 一、基本概念 应用层概述 协议是 网络层次模型 中多台主机之间 同层之间进行通信的规则。是一个水平概念 垂直空间上,向下屏蔽下层细节,向上提供服务接入,多台主机之间同层之间形成一条逻辑信道。 应用层的…

关于Pandas数据分析

pandas的数据加载与预处理 数据清洗:洗掉脏数据 整理分析:字不如表 数据展现:表不如图 环境搭建 pythonjupyter anaconda Jupyter Notebook Jupyter Notebook可以在网页页面中直接编写代码和运行代码, 代码的运行结果也会直接在代码块下显示…

zabbix学习2--zabbix6.x高可用

文章目录 1. server高可用-默认HA2. 访问高可用 1. server高可用-默认HA 1.部署zabbix单节点后,配置添加HANodeName和NodeAddress即为HA架构 2.zabbix1故障后切换zabbix2使用 3.浏览器访问主机1,使用主机1php前端连接mysql后zabbix2提供后台服务--------…

Linux:进程的本质和fork初识

文章目录 回顾进程查看进程的方式fork 回顾进程 前面对进程进行了一些初步的认知,比如进程可执行程序内核数据结构PCB,再比如可以通过ps命令搭配管道寻找进程,通过/proc系统文件夹查看进程的信息,这些都是前面对进程建立起来的一…

【数据结构】list.h 常用函数实现详解

目录 一、概述二、基础函数✨2.1 INIT_LIST_HEAD✨2.2 list_empty 三、添加结点的函数✨3.1 __list_add✨3.2 list_add✨3.3 list_add_tail 四、删除结点的函数✨4.1 __list_del✨4.2 list_del 五、获取结构体指针、遍历链表✨5.1 list_entry✨5.2 list_for_each✨5.3 list_for…

如何让异步序列(AsyncSequence)优雅的感知被取消(Cancel)

概览 自  从 Swift 5.5 推出新的 async/await 并发模型以来,异步队列(AsyncSequence)就成为其中不可或缺的重要一员。 不同于普通的序列,异步序列有着特殊的“惰性”和并发性,若序列中的元素还未准备好&#xff0c…

BGP选路的十一条原则(第八课)

华为官网:有详细的BGP11条选路原则介绍 NetEngine AR 产品文档 (huawei.com) 第一 BGP 属性 第二 BGP 十一条选路原则 实操部分

5个小功能掌握正则表达式的使用

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 这篇文章通过实现5个小功能,来讲述在Java中如何使用正则。 Java中如何使用正则 Java中正则相关类位于java.util.regex包下,主要使用2个类&#xff0…

【Maven入门篇】(1)详细讲解Maven的安装报错解决

🎊专栏【Maven入门篇】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🌺Maven介绍⭐作用⭐官网 🎄maven安…

mysql 5.7 修改密码

为了提高安全性 mysql5.7中user表的password字段已被取消,取而代之的事 authentication_string 字段,当然我们更改用户密码也不可以用原来的修改user表来实现了。下面简绍几种mysql5.7下修改root密码的方法(其他用户也大同小异)。…

整洁架构能有多整洁?

前段时间,我将一个中大型后端项目顺利地从Spring Boot 2.5 迁移到了Spring Boot 3,整个过程仅花了一天左右时间,在小酌庆祝之余,我开始思考此次迁移之所以能够顺利进行的原因,此时一个概念立即闪现脑海——整洁架构。 …