JS 中的7种数据类型

数组、函数、日期都属于 object 对象
false 就是相当于 false 但又不是 false 的值,分别是:
''和' '不是一个玩意,请保持严谨
数字 number
-
写法:
整数写法 1
- 小数写法 0.1
- 科学计数法 1.23e4
- 八进制写法 (用得少)
- 0123 或 00123 或0o123
-
特殊值
1. 正0 和 负0
-
2. 无穷大
-
3. 无法表示的数字
NaN(Not a Number)
字符串 string
每个字符两个字节(阉割版 UTF8)
写法:
- 单引号 ‘你好’
- 双引号 “你好”
- 反引号
你好引号不属于字符串的一部分,就像书名号不属于书名的一部分一样。 如果要在单引号里包含单引号怎么作?
- 转义
- 错误写法
'it's ok'JS 引擎会认为it's就结束了
- 正确写法
'it\'s ok'// 这就是转义"it's ok"it's ok
- 错误写法
- 转义
转义(背)
- 用另一种写法表示你想要的东西
|
\\'| 表示 ‘ | | —- | —- | |\\"| 表示 “ | |\\n| 表示换行 | |\\r| 表示回车 | |\\t| 表示 tab 制表符 | |\\\\| 表示 \ | |\\uFFFF| 表示对应的 Unicode 字符 | |\\xFF| 表示前 256 个 Unicode 字符 |
字符串的长度
string.length
string[index]
let s = 'hello';s[0] // "h"
注意 index 从 0 开始
-
注意 index 到 length
let s = 'hello';s[4] // '0's[5] // undefined,居然不报错
base64 转码
window.btoa 编码
-
window.atob 反编码
-
一般用来隐藏招聘启事里的简历
布尔 Boolean
真或假
只有两个值
-
下列运算符会得到 bool 值
否定运算
-
相等运算
1 === 2、1 != 2、3 === 4、3 !== 4比较运算
-
undefined 和 null 两种空类型
区别
没有本质区别
undefined是默认的空-
细节一
如果一个变量声明了,但没有赋值,那么默认值就是
undefined,而不是null。细节二
如果一个函数,没有写
return,那么默认return undefined,而不是null。细节三
前端程序员习惯上,把非对象的空值写为
undefined,把对象的空值写为null。- 但仅仅是习惯上而已。
symbool 符号
- 不怎么常用的数据类型
- 相关文章
变量声明
|三种声明方式
|区别
| | —- | —- | |var a = 1|var是过时的、不好用的方式。 | |let a = 1|let是新的,更合理的方式。 | |const a = 1|const是声明时必须赋值,且不能再改的方式。 | |a = 1| 这种是赋值,不是声明 |
var 声明(现在不用)
var 变量提升(网道教程)
let 声明
规则:
- 遵循块作用域,即 使用范围不能超出
{ } - 同一作用域不能重复申明
- 可以赋值,也可以不赋值
- 必须先声明再使用,否则报错
- 全局声明的
let变量,不会变成window的属性。 for循环配合let有奇效。
const 声明
规则:
- 跟
let几乎一样 - 只有一条不一样:声明时就要赋值,赋值后不能改。有且仅有一次赋值。
变量声明指定值,同时也指定了类型,但是值和类型都可以随意变化。
// 指定值,同时指定了类型var a = 1// 值和类型都可以随意变化a = 2a = '字符串'
name 和 'name' 的区别
**name** 是变量,值和类型皆可变**'name'** 是字符串常量不可变
- 常量就是不变量
- ‘name’ 只能是 ‘name’,不能是其他值。
类型转换
number => string
String(n)- 大写的String 专门用来把不是String 的东西变成 String。
**n + ''**常用写法var n = 1 // undefinedString(n) // '1'n + '' // '1'
string => number
Number(s)parseInt(s)会把任何东西变成整数parseFloat(s)**s - 0**常用写法- 减法会把数字转成字符串再减0
+s- 正号会把后面的东西尝试变成Number ```javascript var s = ‘123’ // undefined Number(s) // 123 s - 0 // 123
Boolean(x)**!!x **常用写法String(x)x.toSring()
