当前位置:网站首页>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本身已经使用了的字,不能再用他们充当变量名,方法名

保留字
预留的关键字

边栏推荐
- How does the whole network display IP ownership?
- 模型部署简述
- W5500在处于TCP_Server模式下,在交换机/路由器网络中无法ping通也无法通讯。
- My colleague looked at my code and exclaimed: how can I use a singleton in unity
- 小微企业智能名片管理小程序
- Learn NLP with Transformer (Chapter 1)
- 【IMX6ULL笔记】--内核底层驱动初步探究
- SQL注入 Less17(报错注入+子查询)
- 圆角大杀器,使用滤镜构建圆角及波浪效果!
- 【mysql学习08】
猜你喜欢

工作面试总遇秒杀?看了京东T8大咖私藏的秒杀系统笔记,已献出膝盖

Small program of vegetable distribution in community

Activity registration | play with kubernetes container service improvement class officially opened!

Make a reliable delay queue with redis

The most efficient note taking method in the world (change your old version of note taking method)
![[leetcode brush questions]](/img/86/5f33a48f2164452bc1e14581b92d69.png)
[leetcode brush questions]

Emmet syntax quick query syntax basic syntax part

JVM性能调优方法

SQL language (II)

Fillet big killer, use filter to build fillet and wave effect!
随机推荐
The first C language program (starting from Hello World)
flinksql client 连接kafka select * from table没有数据报错,如何解决?
W5500 multi node connection
Eigenvalues and eigenvectors of matrices
【mysql学习08】
Shell fourth day homework
Brief description of model deployment
[tree] 100. Same tree
SQL注入 Less17(报错注入+子查询)
圆角大杀器,使用滤镜构建圆角及波浪效果!
Various controls ==pyqt5
工作面试总遇秒杀?看了京东T8大咖私藏的秒杀系统笔记,已献出膝盖
SQL language (III)
W5500多节点连接
使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏
第一个C语言程序(从Hello World开始)
贪心问题01_活动安排代码分析
【leetcode刷题】
Understanding: idea uses Scala to write wordcount programs and generate jar packages
Information management system for typical works of urban sculpture (picture sharing system SSM)