当前位置:网站首页>JS数据类型以及相互转换
JS数据类型以及相互转换
2022-07-25 10:54:00 【c_perfectworld】
数据类型
在计算机中,不同的数据所需占用的空间不同,为了便于把数据分成大小不同的数据,充分利用存储空间,于是定义了不同的数据类型
JS是一种弱类型或者动态语言,意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定
变量的数据类型是由JS引擎根据 = 右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型
JS拥有动态类型,同时也意味着相同的变量可用作不同的类型
数据类型的分类
- 简单数据类型(Number、String、Boolean、Undefined、Null)
- 复杂数据类型(object)

数字型 Number
JS数字类型既可以用来保存整数值,也可以保存小数(浮点数)
1.数字型进制
最常见的进制有二进制、八进制、十进制、十六进制
八进制:数字前面加0 表示八进制,逢八进一
十六进制:0~9 a~f 数字前面加0x表示十六进制
2.数字型范围
js中数值的最大和最小值

3.数字型三个特殊值

- infinity代表无穷大,大于任何数值
- -infinity代表无穷小,小于任何数值
- NaN,Not a number代表一个非数值
isNaN()用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回true
字符串型 String
字符串型可以是引号中的任意文本,其语法为“双引号”和‘单引号’ 推荐使用单引号
1.字符串引号嵌套
JS中可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
2.字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符
转义符都是 \ 开头的,常用的转义符及其说明如下:

3.字符串长度

使用length来检测字符串的长度
4.字符串拼接
- 多个字符串之间可以用 + 进行拼接,其拼接方式为字符串 + 任何类型 = 拼接之后的新字符串
- 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
+号总结口诀:数值相加,字符相连
5.字符串拼接加强
var str = `我今年${age}岁了`
变量不要写到字符串里面,是通过和字符串相连的方式实现的
变量和字符串相连的口诀:引引加加 删掉数字,变量加中间
- 我们会将字符串和变量拼接,因为变量可以很方便的修改里面的值
- 变量是不能添加引号的,因为加引号的变量会变为字符串
布尔型 Boolean
布尔类型有两个值:true和false,其中true表示真,false表示假
Undefined和Null
一个声明后没有被赋值的变量会有一个默认追undefined(未定义数据类型)
undefined和数字相加最后的结果是NaN
Null (空值)
Symbol(ES6)
var test = Symbol(‘123’);
获取检测变量的数据类型
typeof + 空格可用来检测变量的数据类型
字面量
是一个固定值的表示法,字面量表示如何表达这个值
- 数字字面量:8,9,10
- 字符串字面量:‘黑马程序员’
- 布尔字面量:true,false
数据类型的转换
把一种数据类型的变量转换成另外一种数据类型
转换成字符串型

变量.toString() console.log(String(变量)) console.log(变量+")
- toString()和String()使用方式不一样
- 加号拼接转换也叫隐式转换
转换为数字型

- parseInt和parseFloat单词的大小写
转换为布尔型

- 代表空的,否定的值会被转换为false,如:0 NaN、null、undefined
- 其余值都会被转换为true
解释型语言和编译型语言
程序语言翻译成机器语言的工具,被称为翻译器
- 翻译器翻译方式有两种:一个是编译,另一个就是解释,区别在于翻译的时间点不同
- 编译器是在代码执行之前进行编译,生成中间代码文件
- 解释器是在运行时进行编译,并立即执行
标识符
开发人员为变量、属性、函数、参数取的名字
标识符不能是关键字和保留字
关键字
JS本身已经使用了的字,不能再用他们充当变量名,方法名

保留字
预留的关键字

边栏推荐
- Common web attacks and defense
- W5500在处于TCP_Server模式下,在交换机/路由器网络中无法ping通也无法通讯。
- Summary of combination problems of Li Kou brush questions (backtracking)
- 【IMX6ULL笔记】--内核底层驱动初步探究
- 软件缺陷的管理
- Learn NLP with Transformer (Chapter 1)
- 【USB设备设计】--复合设备,双HID高速(64Byte 和 1024Byte)
- Introduction to shortcut keys in debug chapter
- 相似矩阵,可对角化条件
- MIIdock简述
猜你喜欢

全网显示 IP 归属地,是怎么实现的?

用 Redis 做一个可靠的延迟队列

Brief description of model deployment

基于W5500实现的考勤系统

Talking about Devops monitoring, how does the team choose monitoring tools?

Let sports happen naturally, and fire creates a new lifestyle

Small program of vegetable distribution in community

Reflection reflection

【USB设备设计】--复合设备,双HID高速(64Byte 和 1024Byte)

城市雕塑典型作品信息管理系统(图片分享系统SSM)
随机推荐
RedisUtil
论文解读(MaskGAE)《MaskGAE: Masked Graph Modeling Meets Graph Autoencoders》
JS中的对象
[IJCAI 2022] parameter efficient large model sparse training method, which greatly reduces the resources required for sparse training
Definition of information entropy
Chapter 4 linear equations
Want to record your supernatural moments when playing games? Let's take a look at how to use unity screenshots
Experimental reproduction of image classification (reasoning only) based on caffe resnet-50 network
信号与槽机制==PYQT5
flinksql client 连接kafka select * from table没有数据报错,如何解决?
使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏
常见WEB攻击与防御
大话DevOps监控,团队如何选择监控工具?
Teach you how to configure S2E to UDP working mode through MCU
谣言检测文献阅读十一—Preventing rumor spread with deep learning
[MySQL learning 09]
Filter过滤器解决request请求参数乱码的原理解析
JVM性能调优方法
Teach you how to configure S2E as the working mode of TCP client through MCU
城市雕塑典型作品信息管理系统(图片分享系统SSM)