JavaScript 基本数据类型的详解

JavaScript的基本数据类型

在这里插入图片描述

以下都是JS内置的几种类型

数据类型描述
number数字,不区分整数和小数
string字符串类型
booleantrue 真, false 假
undefined表示未定义的值
null只有唯一的值 null,表示空值

number 数字类型

JavaScript 中不区分整数和浮点数,统一都使用 “数字类型” 来表示

示例代码

<script>let a =10;console.log(typeof(a))a= a/3console.log(a)console.log(typeof(a))
</script>

运行结果
image-20240301130811602

特殊的数字值:
Infinity:无穷大, 大于任何数字,表示数字已经超过了 JS 能表示的范围.
-Infinity: 负无穷大, 小于任何数字,表示数字已经超过了 JS 能表示的范围.
NaN: 表示当前的结果不是一个数字

1.Infinity的示例代码

<script>console.log(10/0)
</script>

运行结果

在这里插入图片描述

2.-Infinity的示例代码

<script>console.log(-10/0)
</script>

运行结果

image-20240301132055825

3.NaN的示例代码

<script>console.log("hahaha"-1)
</script>

运行结果

image-20240301132302455


string 字符串类型

注:字符串字面值需要使用引号引起来,单引号双引号均可

示例

<script>let a ='哈哈哈'a = 'JS'
</script>

字符串中本身已经包含引号的情况

1.正确搭配使用单双引号

示例1:

<script>let a ='js'a ="哈哈哈'js'"
</script>

示例2:

<script>let b = "js"b = '哈哈哈"js"'
</script>

2.使用转义字符 \ " 来表示字符串内部的引号

示例:

<script>let name = "liaofeiyang"name = "my name is \"liafeiyang\""alert(name)
</script>

运行效果

image-20240301134848784

一些其它的转义字符,比如: \t => t ,\n => n ,\\ => \


字符串求长度

使用 String 的 length 属性即可

示例代码

<script>let a = "哈哈哈"console.log(a.length)
</script>

运行效果
在这里插入图片描述

字符串拼接

使用 + 进行拼接

示例代码

<script>let a = "小白"console.log("fly: "+ a)
</script>

运行结果
image-20240301142841509

数字和字符串也可以进行拼接

示例

<script>console.log("10" + 10)
</script>

运行结果

image-20240301143156988


boolean 布尔类型

表示 “真” 和 “假”,当Boolean参与运算时会被做 1 和 0 来看待,和 C 语言一样

示例1

<script>let a  = trueconsole.log(typeof(a))a = a + 1console.log("a的值等于:"+a+" a的类型:"+typeof(a))
</script>

运行结果

image-20240301144012392

示例2

<script>let a  = falseconsole.log(typeof(a))a = a + 1console.log("a的值等于:"+a+" a的类型:"+typeof(a))
</script>

运行结果
在这里插入图片描述


undefined 未定义数据类型

1.如果一个变量被定义了,但是没有被赋值,也就是没有被初始化过, 此时这个变量就是 undefined, 是 undefined 类型的

示例代码

<script>let a;console.log(a)
</script>

运行结果

image-20240301152223643

2.undefined和字符串进行相加, 结果是进行字符串拼接

示例代码

<script>let a;console.log(a + "10")
</script>

运行结果

image-20240301152603771

3.undefined和数字进行相加,结果为NaN

示例代码

<script>let a;console.log(a + 10)console.log(a + true)
</script>

运行结果

image-20240301153245029


null 空值类型

null 表示当前的变量是一个 “空值”

注: null 和 undefined 都表示取值非法的情况, 但是侧重点不同
undefined 表示当前的变量未定义,而 null 是被定义/被赋值了的,只不过它的值就是 null

示例代码

<script>let a;let b = null;console.log(a + 10); //运行结果为NaNconsole.log(b + 10); //运行结果是10
</script>

运行结果
image-20240301154109382

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

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

相关文章

itertools, 一个超好用的Python库

前言 Python用来处理迭代器的工具你想到了啥&#xff1f;itertools 就是一个特别有用的库&#xff0c;它提供了一系列用于创建和操作迭代器的工具&#xff0c;以下是10个常用的操作&#xff0c;可用在实际工作中&#xff0c;熟练掌握这些操作&#xff0c;将极大提升你在 Pytho…

栈(顺序栈)实现Language C

###王道考研的学习领悟&#xff0c;个人喜好讲解清晰 何为栈&#xff1f; 定义:栈&#xff08;stack&#xff09;是只允许在一端进行插入或删除的线性表。 其重要术语&#xff1a;栈顶&#xff0c;栈底&#xff0c;空栈。 我们只需要把这个图看明白了&#xff0c;理解起来就…

学校机房Dev c++解决中文乱码问题

工具->编译选项->勾选 编译时加入以下命令 -fexec-charsetGBK -finput-charsetUTF-8 显示中文&#xff1a;工具->编辑器选项->去掉第一个的勾勾。

Github上最值得学习的10个Android开源项目,安卓面试题

1.Java语言进阶与Android相关技术核 Android应用是由Java语言进行开发的&#xff0c;SDK也是由Java语言编写&#xff0c;对于Android来说&#xff0c;只要SDK没有用Kotlin重写&#xff0c;那么Java语言是都需要学习的。而且Android APK的后台服务器程序大概率是Java语言构建&a…

【计算机网络】应用层自定义协议

自定义协议 一、为什么需要自定义协议&#xff1f;二、网络版计算器1. 基本要求2. 序列化和反序列化3. 代码实现&#xff08;1&#xff09;封装 socket&#xff08;2&#xff09;定制协议和序列化反序列化&#xff08;3&#xff09;客户端&#xff08;4&#xff09;计算器服务端…

Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析

3.2 自动配置 我们讲解了SpringBoot当中起步依赖的原理&#xff0c;就是Maven的依赖传递。接下来我们解析下自动配置的原理&#xff0c;我们要分析自动配置的原理&#xff0c;首先要知道什么是自动配置。 3.2.1 概述 SpringBoot的自动配置就是当Spring容器启动后&#xff0c…

【论文笔记】An Effective Adversarial Attack on Person Re-Identification ...

原文标题&#xff08;文章标题处有字数限制&#xff09;&#xff1a; 《An Effective Adversarial Attack on Person Re-Identification in Video Surveillance via Dispersion Reduction》 Abstract 通过减少神经网络内部特征图的分散性攻击reid模型。 erbloo/Dispersion_r…

Vue3中组件通讯的方式

Vue3中组件通讯的方式 1 &#x1f916;GPT&#x1f916;: (答案有点问题混淆了vue2的内容) 父组件向子组件传递数据 props 子组件通过 props 属性从父组件接收数据。emit事件子组件通过emit 事件 子组件通过 emit事件子组件通过emit 发射事件向父组件发送消息。provide / in…

Chrome插件 | WEB 网页数据采集和爬虫程序

无边无形的互联网遍地是数据&#xff0c;品类丰富、格式繁多&#xff0c;包罗万象。数据采集&#xff0c;或说抓取&#xff0c;就是把分散各处的内容&#xff0c;通过各种方式汇聚一堂&#xff0c;是个有讲究要思考的体力活。君子爱数&#xff0c;取之有道&#xff0c;得注意遵…

mobile app 安全扫描工具MobSF了解下

可以干啥&#xff1a; static 静态分析 dynamic 动态分析 可以用来渗透了 如何docker安装 docker image 下载地址https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/ setup 两行即可 1 docker pull opensecurity/mobile-security-framework-mobsf…

年轻人怎么搞钱?

年轻人想要搞钱&#xff0c;可以考虑以下几个方面&#xff1a; 1. 创业&#xff1a;年轻人可以通过自己的创意&#xff0c;找到一个市场的空缺&#xff0c;开创自己的业务。可以从比较小的项目开始&#xff0c;逐渐扩大范围&#xff0c;积累经验和财富。 2. 投资&#xff1a;…

Hadoop之HDFS——【模块二】数据管理

一、Namespace的概述 1.1.集群与命名空间的关系 类似于大集群与小集群之间的关系,彼此之间独立又相互依存。每个namespace彼此独立,Namespace工作时只负责维护本区域的数据,同时所有的namespace维护的文件都可以共用DataNode节点,为了区分数据属于哪些Namespace,DataNode…

强大而灵活的python装饰器

装饰器&#xff08;Decorators&#xff09; 一、概述 在Python中&#xff0c;装饰器是一种特殊类型的函数&#xff0c;它允许我们修改或增强其他函数的功能&#xff0c;而无需修改其源代码。装饰器在函数定义之后立即调用&#xff0c;并以函数对象作为参数。装饰器返回一个新…

CrossOver 24下载-CrossOver 24 for Mac下载 v24.0.0中文永久版

CrossOver 24是一款可以让mac用户能够自由运行和游戏windows游戏软件的虚拟机类应用&#xff0c;虽然能够虚拟windows但是却并不是一款虚拟机&#xff0c;也不需要重启系统或者启动虚拟机&#xff0c;类似于一种能够让mac系统直接运行windows软件的插件。它以其出色的跨平台兼容…

NVMe开发——PCIe复位

简介 PCIe中有4种复位机制&#xff0c;早期的3种被称为传统复位(Conventional Reset)。传统复位中的前2种又称为基本复位(Fundamental Resets)&#xff0c;分别为冷复位(Cold Reset)&#xff0c;暖复位(Warm Reset)。第3种复位为热复位(Hot Reset)。第4种复位被称为功能级复位…

179基于matlab的2D-VMD处理图像

基于matlab的2D-VMD处理图像&#xff0c;将图片进行VMD分解&#xff0c;得到K个子模态图&#xff0c;将每个模态图进行重构&#xff0c;得到近似的原图。可以利用这点进行图像去噪。程序已调通&#xff0c;可直接运行。 179 2D-VMD 图像分解重构 图像处理 (xiaohongshu.com)

每日五道java面试题之spring篇(九)

目录&#xff1a; 第一题. 说一下Spring的事务传播行为第二题. 说一下 spring 的事务隔离&#xff1f;第三题. Spring AOP and AspectJ AOP 有什么区别&#xff1f;AOP 有哪些实现方式&#xff1f;第四题. JDK动态代理和CGLIB动态代理的区别第五题. 解释一下Spring AOP里面的几…

【白嫖8k买的机构vip教程】Appium自动化(3):Appium-Desktop界面介绍

Appium-Desktop主界面包含三个菜单Simple、Advanced、Presets Simple界面&#xff1a; Host设置Appium server的ip地址&#xff0c;本地调试可以将ip地址修改为127.0.0.1&#xff1b;Port设置端口号&#xff0c;默认是4723不用修改Start Server 启动 Appium serverEdit Confi…

重生奇迹MU玩家容易遇到的问题

1、玩家可以在画面左上角座标旁找到「奇迹助手」的小按钮&#xff0c;用它来开启介面。 2、打怪范围&#xff1a;自动寻找所设定范围内的怪物&#xff0c;勾选后角色搜索范围内若无可攻击的目标&#xff0c;将会随机移动位置直到有攻击目标为止&#xff0c;但移动范围不超出所…

搭建LNMP环境并搭建论坛和博客

目录 一、LNMP架构原理 二、编译安装Nginx 三、编译安装MySQL 四、编译安装PHP 五、配置Nginx支持PHP解析 六、安装论坛 七、安装博客 一、LNMP架构原理 LNMP架构&#xff0c;是指在Linux平台下&#xff0c;由运行Nginx的web服务器&#xff0c;运行PHP的动态页面解析程序…