module1-02-数据类型

数据类型

一、字面量

1.1 概念

  • 字面量适用于表达一个固定值的表示法,又叫常量

  • 同速的理解,字面就是所见即所得,js程序执行到代码中的字面量,会立即知道它是什么类型的数据,值是多少

  • 可以用于表示固定值,比如:数字、字符串、undefined、布尔类型的字面值等

  • 数字字面量:8,9,10

  • 字符串字面量:“大前端”

  • 布尔字面量:true,false

1.2 数字字面量

  • 数学意义上的数字

  • 区分:整数字面量浮点数字面量小数)、特殊值

  • 直接进行书写,不需要进行任何辅助符号

  • 整数:

    • 十进制:基本的数值字面量格式

    • 八进制:前缀:0、0O、0o

      • 若前缀符合但是后面出现8和9会强行转换为十进制忽略前面的0

      • 如果前缀是0o的话就会报语法错误

    • 十六进制:前缀:0x、0X,超过10A~F

      • 十六进制同理

    • 不同进制进行计算,会自动转换为十进制

  • 浮点数

    • 即小数:整数、小数点、小数部分

    • 不区分进制

    • 大于0小于1可以省略小数点前面的0

    • 科学计数

      • 1.24e10

    • 精度问题

      • 最高精度是17位小数

      • 0.1 + 0.2 结果不是3

      • 是0.300000000000000004

  • Infinity无穷

    • 最小值:Number.MIN_VALUE: 5e-324

    • 最大值:Number.MAX_VALUE: 1.7976931348623157e+308

    • 无穷大:Infinity

    • 无穷小:-Infinity

    • Infinity, -Infinity两个数任意加减乘除都会得到NaN

  • NaN

    • 表示不是一个正常的数,not a number

      • 比如0 / 0

    • NaN与任何值都不相等,包括他本身

    • isNaN() 可以判断一个数据是不是一个NaN

1.3 字符串字面量

  • 组成:字母、汉字、特殊符号、空白

  • 用单引号(‘’)或双引号(“”)包裹

  • 如果字符串中包含了双引号,则其外部应该由单引号表示,反之相同

  • 转义符号

    • 一些特殊功能的字符和效果不能直接书写

    • 使用转义符\对这些字符进行转义

    • \n 换行符

    • \t Tab制表符

    • \' 单引号

    • \" 双引号

    • \\ 反斜杠

二、变量的介绍和声明

2.1 变量的概念

  • 计算机内纯种存储数据的标识符,根据变量名称可以获取到内存中存储的数据

  • 变量的命名规则和规范

    • 规则:

      • 字母、数字、下划线、$组成,不能以数字开头

      • 区分大小写

      • 不能是关键字和保留字

    • 规范

      • 语义化

      • 驼峰命名

2.2 变量赋值

  • 定义之后没有复制,会默认一个存储的值位undefined(未定义)

  • 赋值方式:等号 = 赋值

  • 变量赋值内部可以存储任意类型的数据

  • 等号左变右不变

  • 多个变量同时定义:

    • 逗号分隔

三、数据类型与一些用法

3.1 数据类型

(1)简单数据类型

  • Number

    • 数字类型

    • 不区分整数、浮点数、特殊值

    • Infinity也属于number

  • String

  • undefined

    • 本身是一个数据,表示未定义

    • 声明但是未赋值的话就会出现这个

  • Boolean

    • 必须小写

  • null

    • null表示一个空对象指针

(2)复杂数据类型

  • Object

3.2 检测数据类型的方法

  • typeof()或者typeof 空格 (关键字方法)

  • 出来的结果是小写的字符串类型

    • 如number、string

    • 如果是null的话会返回object

3.3 变量的数据类型

  • js是一门动态型语言,会跟着存储数据的变化进而数据类型也发生变化

    • 所以进行操作的时候需要知道将要操作的数据的类型是什么再进行相关操作

3.4 数据类型转换

  • 数据.toString():转换为字符串

    • 但有一些数据没有这个方式,可以用String(),undefined和null不能使用那个方法

  • +号拼接字符串:字符串拼接/转换为数字/数字算数运算

    • 可以使用+进行隐式转换成字符串形式(两边都是数字除外),使用这个的话会把+两边都变成字符串再进行拼接

    • 类似于两边都调用了String()

    • 如果两边都是数字,就是算数功能

    • 如果只有一个值,那么就等于执行Number()

  • Number():转换为数字

    • 字符串

      • 空字符串 -> 0

      • 纯数字字符串 -> 数字

      • 非纯数字字符串 -> NaN

    • 数组

      • 空数组 -> 0

      • 只有一个值且为纯数字 -> 该值的数字

      • 其它 -> NaN

    • true -> 1

    • false -> 0

    • undefined -> NaN

    • null -> 0

  • parseInt()字符串转整数方法

    • ① 对数字取整,直接舍弃小数部分,直接保留整数

    • ② 转换为整数数字,也包含取整功能

    • 参数必须是纯数字字符串或者数字字符开头的字符串,不然会NaN

  • parseFloat():字符串转小数

    • 与parseInt相似,但是会保留小数部分

  • Boolean()转换为布尔类型

    • if()会自动触发

    • 转换为false的有

      • NaN、0、“”、空字符串、null、undefined

    • 转换为true的有

      • 非0非NaN的数字、非空字符串、复杂数据类型(包含空数组与空对象)

    •  

posted @ 2020-12-05 00:47  叻仔猪  阅读(108)  评论(0编辑  收藏  举报