JavaScript 基本数据类型的详解
JavaScript的基本数据类型

以下都是JS内置的几种类型
| 数据类型 | 描述 |
|---|---|
| number | 数字,不区分整数和小数 |
| string | 字符串类型 |
| boolean | true 真, false 假 |
| undefined | 表示未定义的值 |
| null | 只有唯一的值 null,表示空值 |
number 数字类型
JavaScript 中不区分整数和浮点数,统一都使用 “数字类型” 来表示
示例代码
<script>let a =10;console.log(typeof(a))a= a/3console.log(a)console.log(typeof(a))
</script>
运行结果

特殊的数字值:
Infinity:无穷大, 大于任何数字,表示数字已经超过了 JS 能表示的范围.
-Infinity: 负无穷大, 小于任何数字,表示数字已经超过了 JS 能表示的范围.
NaN: 表示当前的结果不是一个数字
1.Infinity的示例代码
<script>console.log(10/0)
</script>
运行结果

2.-Infinity的示例代码
<script>console.log(-10/0)
</script>
运行结果

3.NaN的示例代码
<script>console.log("hahaha"-1)
</script>
运行结果

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>
运行效果

一些其它的转义字符,比如: \t => t ,\n => n ,\\ => \
字符串求长度
使用 String 的 length 属性即可
示例代码
<script>let a = "哈哈哈"console.log(a.length)
</script>
运行效果

字符串拼接
使用
+进行拼接
示例代码
<script>let a = "小白"console.log("fly: "+ a)
</script>
运行结果

数字和字符串也可以进行拼接
示例
<script>console.log("10" + 10)
</script>
运行结果

boolean 布尔类型
表示 “真” 和 “假”,当Boolean参与运算时会被做 1 和 0 来看待,和 C 语言一样
示例1
<script>let a = trueconsole.log(typeof(a))a = a + 1console.log("a的值等于:"+a+" a的类型:"+typeof(a))
</script>
运行结果

示例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>
运行结果

2.undefined和字符串进行相加, 结果是进行字符串拼接
示例代码
<script>let a;console.log(a + "10")
</script>
运行结果

3.undefined和数字进行相加,结果为NaN
示例代码
<script>let a;console.log(a + 10)console.log(a + true)
</script>
运行结果

null 空值类型
null 表示当前的变量是一个 “空值”
注: null 和 undefined 都表示取值非法的情况, 但是侧重点不同
undefined 表示当前的变量未定义,而 null 是被定义/被赋值了的,只不过它的值就是 null
示例代码
<script>let a;let b = null;console.log(a + 10); //运行结果为NaNconsole.log(b + 10); //运行结果是10
</script>
运行结果

相关文章:
JavaScript 基本数据类型的详解
JavaScript的基本数据类型 以下都是JS内置的几种类型 数据类型描述number数字,不区分整数和小数string字符串类型booleantrue 真, false 假undefined表示未定义的值null只有唯一的值 null,表示空值 number 数字类型 JavaScript 中不区分整数和浮点数&…...
DDR5内存相比DDR4内存的优势和区别?选择哪一个服务器内存配置能避免丢包和延迟高?
根据幻兽帕鲁服务器的实际案例分析,选择合适的DDR4与DDR5内存大小以避免丢包和延迟高,需要考虑以下几个方面: 性能与延迟:DDR5内存相比DDR4在传输速率、带宽、工作电压等方面都有显著提升,但同时也伴随着更高的延迟。D…...
篮球游戏中的挑战精神与怄气心理:扣篮被帽后的再度冲击
在篮球比赛中,扣篮无疑是最具观赏性和震撼力的动作之一,它展示了球员的爆发力、技巧和自信。而在篮球游戏中,玩家即便面临连续扣篮被盖帽的挫折,仍渴望继续杀入内线尝试扣篮的现象,实则是体育竞技精神、挑战意识与怄气…...
JavaScript高级程序设计
前言 《JavaScript高级程序设计》 第1章——什么是JavaScript DOM将整个页面抽象为一组分层节点。 BOM用于支持访问和操作浏览器的窗口。 第2章——HTML中的JavaScript 2.1 < script >元素 元素描述async立即开始下载脚本,但不能阻止其他页面动作&#…...
初阶数据结构:栈与队列
目录 1. 简述:栈2. 栈的功能分析与实现2.1 功能分析2.2 栈的实现2.2.1 栈的结构创建与初始化2.2.2 压栈,出栈与判空:2.2.3 获取栈顶元素,检索栈的长度与栈的销毁 3. 简述:队列4. 队列的功能分析与实现4.1 队列的功能分…...
Houdini学习笔记
按住Alt / 空格 左键:进行旋转 按住Alt / 空格 中间:移动屏幕画面 按住Alt / 空格 右键:缩放视口 如果不要Alt,就先按ESC,再去左键、中键、右键操作 这里有对应的层级关系,类似于树形结构ÿ…...
电销机器人识别客户情绪状态
最近有电销机器人需求的客户咨询我,你们OKCC的机器人可以识别客户的情绪变化吗?别人说目前电销机器人系统有支持的。 首先还是从原理的角度解答一下,是否能识别情绪状态。 是的,电销机器人可以识别客户的情绪状态。这可以通过语音…...
AI推介-大语言模型LLMs论文速览(arXiv方向):2024.02.25-2024.03.01
论文目录~ 1.Arithmetic Control of LLMs for Diverse User Preferences: Directional Preference Alignment with Multi-Objective Rewards2.Keeping LLMs Aligned After Fine-tuning: The Crucial Role of Prompt Templates3.Meta-Task Prompting Elicits Embedding from Lar…...
Cesium插件系列——3dtiles压平
本系列为自己基于cesium写的一套插件具体实现。 这里是根据Cesium提供的CustomShader来实现的。 在CustomShader的vertexShaderText里,需要定义vertexMain函数,例如下: struct VertexInput {Attributes attributes;FeatureIds featureIds;…...
APS面试审核准备的常规问题
之前根据其他人的经验贴,准备了一些可能APS 面试审核可能会遇到的常规问题,现在简单分享一下。 一般会考虑到留学资金来源,在德国能不能顺利毕业;学的是什么专业内容之类的,判断去德国会不会好好学习;对德国…...
jvm 基础知识和jvm 调优
类装载分为以下 5 个步骤: 加载:根据查找路径找到相应的 class 文件然后导入; 检查:检查加载的 class 文件的正确性; 准备:给类中的静态变量分配内存空间; 解析:虚拟机将常量池中的符…...
USB4之ASM2464PD与ASM2464PDX兼容与运用
首先在NVMe上运用: 一:ASM2464PD(现在可以做带PD的方案) 二:ASM2464PDX 1: Application Guide- CFX card reader NVMe SSD 2:ASM2464PDX Application Guide- NVMe SSD x4 with data clone 三ÿ…...
python笔记_进制
二进制 进位规则:满2进1 范围:0,1 符号:以0b和0B开头 八进制 进位规则:满8进1 范围:0-7 符号:以0o和0O开头 十进制 进位规则:满10进1 范围:0-9 十六进制 进位规则ÿ…...
面试数据库篇(mysql)- 05什么是聚簇索引什么是非聚簇索引
聚集索引选取规则: 如果存在主键,主键索引就是聚集索引。如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索…...
如何开好一家汽车美容店,汽车美容保养与装饰教学
一、教程描述 本套教程共由17张VCD组合而成,教程内容主要包括:美容店的设立和管理,汽车系统与内部结构,汽车美容工具与美容设备,美容用品的选择与使用,车身打蜡镀膜与内外清洁,车身抛光与漆面处…...
Taro + node.js 注册 仿照java 中的加盐算法
1.需求 为了让用户的密码更加保密 我们在md5 之前 在加一个随机数 用java 的说法 叫做 加盐算法 2.代码 //H5注册async H5Register(register) {if (!register.phone ||!register.password ||!register.confirmPassword ||!register.yzmCode ||!register.registerCode) {thr…...
全量知识系统问题及SmartChat给出的答复 之9 三套工具之4语法解析器 之2
Q23. 一个语言的语法简约规则 这些规则显示show 在一个给定单词(a given word)的右边或左边可能出现的单词的类别。句型的多样性variety不是复杂文法(a complex grammar)的结果,而是简单语法(a simple gra…...
简洁版用户登录系统
前端页面: 用户登录首页: <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximu…...
Android 监听网络状态变化
文章目录 Android 监听网络状态变化封装工具类使用 Android 监听网络状态变化 封装工具类 <uses-permission android:name"android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name"android.permission.ACCESS_WIFI_STATE"…...
【LeetCode】一周中的第几天+ 一年中的第几天
2023-12-30 文章目录 一周中的第几天方法一:模拟思路步骤 方法二:调用库函数方法三:调用库函数 [1154. 一年中的第几天](https://leetcode.cn/problems/day-of-the-year/)方法一:直接计算思路: 方法二:调用…...
从GMM-HMM到DNN-HMM:语音识别技术栈的‘换芯’手术与工程实践指南
从GMM-HMM到DNN-HMM:语音识别技术栈的‘换芯’手术与工程实践指南 当Kaldi工具链训练出的GMM-HMM系统在测试集上达到92%的准确率时,团队决定启动模型升级计划。这个看似简单的"换芯"操作——用深度神经网络替换高斯混合模型——在实际工程中却…...
Android-Mediasession-播放状态监控
Android 监控 MediaSession 播放状态并打印包名的 Java 实现 下面是一个完整的 Java 示例,展示如何系统级监控所有应用的 MediaSession 播放状态,并打印当前正在播放的应用包名。 📦 一、核心原理 通过 MediaSessionManager 获取所有活跃的 M…...
别再手动传包了!用SCP+tar一条龙搞定Linux服务器JDK17环境部署
别再手动传包了!用SCPtar一条龙搞定Linux服务器JDK17环境部署 每次部署Java环境都要重复下载、上传、解压、配置的繁琐流程?作为经历过上百次服务器环境搭建的老手,我总结出一套SCPtar自动化部署方案,将传统半小时的流程压缩到3分…...
如何在5分钟内快速上手ESP32开发?Arduino-ESP32完整指南
如何在5分钟内快速上手ESP32开发?Arduino-ESP32完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 想要快速入门ESP32开发吗?Arduino-ESP32项目为你提供了一个…...
51单片机+ADC0808数字电压表:从C语言到汇编,手把手教你用Proteus仿真(附完整汇编源码)
51单片机与ADC0808数字电压表:从C语言到汇编的实战迁移指南 在嵌入式开发领域,51单片机因其经典架构和广泛的应用基础,一直是工程师入门的首选平台。当我们从C语言这种高级语言过渡到汇编语言时,不仅能够更深入地理解硬件工作原理…...
SEMTECH升特 LR1121IMLTRT QFN24 无线收发芯片
LR1121是一款超低功耗、长距离LoRa收发器,支持次GHz和全球2.4GHz频段内的地面ISM波段通信,同时还具备S频带支持功能,可用于卫星连接。 对于LPWAN用例而言,LR1121支持LoRa和(G)FSK调制技术,适用于次GHz和2.4GHz频段&…...
智能考勤管理系统推荐:2026年主流产品深度对比与选型建议
智能考勤管理系统是帮助企业实现员工出勤数据自动采集、工时智能计算、排班自动优化的数字化管理工具。 2026年主流的智能考勤系统已普遍集成AI能力,支持多终端打卡(GPS、WiFi、人脸识别、蓝牙)、复杂排班规则自动生成、异常考勤智能预警&am…...
AI 记忆系统选型指南:Graphify 与 MemPalace 的技术路线之争
导读 当 AI 助手开始"失忆",我们需要的不只是更大的上下文窗口,而是更聪明的记忆方式。 一、AI 时代的记忆危机 你有没有遇到过这种情况? 和 Claude Code 聊了 50 轮,它突然"忘记"了项目架构。 Cursor 在处…...
保姆级教程:用Zabbix 6.0监控华为路由器,从SNMP配置到Web界面出图
企业级网络监控实战:Zabbix 6.0与华为路由器深度集成指南 在数字化转型浪潮中,网络设备的实时监控已成为企业IT运维的刚需。作为开源监控领域的标杆,Zabbix 6.0以其强大的数据采集和可视化能力,配合华为路由器稳定的硬件性能&…...
AIAgent多租户隔离失效事件复盘(某金融客户千万级SLA违约始末):资源编排、上下文污染、元数据泄漏三重防御体系
第一章:AIAgent架构分布式部署方案 2026奇点智能技术大会(https://ml-summit.org) AI Agent系统在生产环境中需应对高并发推理、多模态任务编排与动态资源伸缩等挑战,分布式部署成为保障可用性与弹性的核心实践。典型架构采用“控制面数据面执行面”三层…...
