数据类型
- number
- string
- bool
- symbol
- undefined
- null
- object
字符串string(每个字符两个字节)
转义
- 错误写法
'it's ok'
- 正确写法
'it\'s ok' //这就是转义
"it's ok"
`it's ok`
- 用另一种写法表示你想要的东西
\' 表示 '
\" 表示 "
\n 表示 换行
\r 表示 回车
\t 表示 tab制表符
\\ 表示 \
\uFFFF 表示对应的Unicode字符
\xFF 表示前256个Unicode字符
获取字符串的长度(string.length)
base64转码
-
window.btoa(正常的字符串转为base64编码的字符串)
-
window.atob(base64编码的字符串转为原来的字符串)
-
一般用来隐藏招聘启事里的简历
布尔boolean
if配bool
- if语句常常需要判断真假
- if(value){...}else{...}
5个falsy值(falsy就是相当于false但又不是false的值)
分别是:
- undefined
- null
- 0
- NAN
- ''
undefined和null的区别
- 如果一个变量声明了,但没有赋值,那么默认值就是undefined,而不是null
- 如果一个函数,没有写return,那么默认return
- 前端程序员习惯上,吧非对象的空值写为undefined
变量声明
var a = 1
let a = 1
const a = 1
let声明
- 遵循块作用域,及使用范围不能超出{ }
- 不能重复声明
- 可以赋值,也可以不赋值
- 必须先声明再使用,否则报错
- 全局声明的let变量,不会变成window的属性
- for循环配合let有奇效
const声明
- 跟let几乎一样
- 只有一条不一样,声明时就要赋值,赋值后不能更改
类型转换
- number => string
String(n)
n+''
- string => number
Number(s)
parseInt(s)/parseFloat(s)
s - 0
- x => bool
Boolean(x)
!!x
- x => string
String(x)
x.toString()