文章目录
6种数据类型
通过 typeof 运算符可以输出某个变量的数据类型~
- Undefined 🙉
- Null(特殊) - 空的Object 🙉
- Boolean
- Number
- String
- Object 👍
Undefined 未定义
一般的,未初始化或未声明的变量均为undefined,但是 未声明 的变量名只能用来执行 typeof 判断。
Null 空对象指针
- Undefined 类型只有一个值
undefined,Null 类型同样只有null。 - 👍 初始化变量时如果
未来打算用来存储 Object,设置值为null是好的习惯。 - 一个事实是,Null 类型
派生出了 Undefined 类型,因此null == undefined是正确的。
Boolean 布尔型
只有 true 和 false 两个值。一个值得关注的重点内容是:采用 Boolean(Message) 可以将任意类型转换取得一个 Boolean 类型的值,见下:
| 类型 | 转为 true | 转为false |
|---|---|---|
| String | 任意 非空字符串 | 空字符串 " " |
| Number | 任意 数字值 | 0 和 NaN |
| Object | 任意 对象 | null |
| Undefined | 均为 false |
👍 这些内容比较重要,因为 if (Message) { //code block } 会取其 Boolean 值。
Number 数字
几个进制的整数:
var int = 10
var real_int = 10.0 // 自动转换优化
var octal_num = 072 // 8进制, in which not use strict
var hex_num = 0xA1 // 16进制, 任意大小写
带小数点的家伙:
var float = 10.0
var bad_float = .012 // 能跑, 但没必要
var fake_float = 1.234e7 // 这其实是12340000, 科学计数法
范围和精度:
var tiny_float = 1e-17 // 最高精度是17位小数
console.log(Number.MIN_VALUE) // 5.00e -324
console.log(Number.MAX_VALUE) // 1.79e +308
// 超出范围将变成 Infinity, 或者是 -Infinity
JavaScript 中的 NaN:
- 除以 0 时数字会变成 NaN,保证了代码仍能跑。
- 👍 为了保证代码正确跑起来,NaN 不等于
!=NaN。 - 使用
isNaN()可以判断能否变成数字,false可以,"10" 和 10 可以,"blue"不行,没这个能力。
用于 Number 的转型函数
Number()如果是 null 返回 0,如果是 undefined 返回 NaN,字符串会自动删除前导的 0,并可以正确判断小数点.和十六进制0x,如果是对象,先调用对象的valueOf(),如果是NaN再调用toString()。parseInt()主要用于字符串,且更加合理,会自动取出字符串中第一个是数字的值,比如parseInt("2012blue")即为 2012,parseInt("")会取出 NaN,而Number("")转换出来的数字为 0。parseFloat()规则和👆上面的大概一样,有一些关于小数点的细节篇幅较长,就不在此赘述了~
String 字符串
- 单双引号的效果是一样的。
- 字符字面量 又叫
转义序列,换行符\n,制表符\t,退格符\b,斜杠\\(同理单双引号),Unicode 字符\u0000 - JS中的字符串不可变,如
lang = lang + str,会创造一个长度为lang.length的字符串,浅拷贝内容后把原来的lang销毁掉。 toString()的参数即为输出的数字基数,如toString(16)将会输出一坨 16进制的数字,用时有奇效。
Object 对象
JS中的对象是一坨 数据和功能的集合,通过 new customTypedObject() 来创建新的对象,使用 new Object 省略构造函数也是可以的,但不推荐。
- ⚠️ 需要注意的是,JS 的
Object和java.lang.Object里的一样,它所具有的属性和方法存在于更具体的对象中,只是一个它的所有实例的基础,这一点将会在后续针对prototype 原型进行进一步的了解~
本文详细介绍了JavaScript的6种基本数据类型:Undefined、Null、Boolean、Number、String和Object,包括它们的特点、转换规则及应用场景。重点讲解了Number类型中的进制转换、范围与精度,以及如何使用isNaN()和转换函数。此外,还提到了String字符串的处理和Object对象的创建。文章强调了Boolean转换在条件判断中的重要性,以及如何通过null初始化变量来准备存储Object。
2820

被折叠的 条评论
为什么被折叠?



