# JS 基础

# 数据类型

  • 基本数据类型:Number、String、Boolean、Null、undefined、Symbol、BigInt
  • 引用数据类型:统称为 Object,包括:Object、Array、Date、RegExp、Function 等

基本数据类型 保存在
引用数据类型 保存引用地址在栈中,具体数据在

# 变量声明

  • var 声明全局变量和局部变量
  • let 声明块作用域的局部变量
  • const 声明块作用域的局部变量, 定义常量

# 变量提升

  • var 会提升到接近函数顶部的地方,赋值 undefined
  • ES6 中,let/const 会被提升到代码块的顶部,但不会被赋值
console.log(a) // undefined
console.log(b) // Uncaught ReferenceError: b is not defined
var a = 1
let b = 2
1
2
3
4

# 函数提升

函数声明会被提升到顶部,但函数表达式不会被提升

/* 函数声明 */

foo(); // "bar"

function foo() {
  console.log("bar");
}


/* 函数表达式 */

baz(); // 类型错误:baz 不是一个函数

var baz = function() {
  console.log("bar2");
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 字符串转数字

parseInt(value[, radix])

  • radix 可选参数 范围: 2 - 36
parseInt('10', 0) // 10
parseInt('10', 1) // NaN
parseInt('10', 2) // 2
parseInt('3', 2) // NaN
parseInt('z', 36) // 35
parseInt('z', 37) // NaN
1
2
3
4
5
6

parseFloat(string)

  • 第一个参数必要时先转换为字符串
  • 返回一个浮点数,非浮点数返回NaN

# 整数 Integers

  • 十进制 无
  • 八进制 0|0O|0o
  • 十六进制 0x|0X
  • 二进制 0b|0B