函数的本质

函数的本质就是对象。

构造函数也称为构造器

所有的对象都是通过 new 关键字创建出来的,new 构造函数()

所有的函数都是通过new Function创建的。

Function -> 产生函数对象 -> 产生普通对象

由于函数本身就是对象,因此函数中,可以拥有各种属性。

// 写法1
var obj = {
  x: 123,
  y: 456,
}
var arr = [1, 2, 3]

// 写法2
var obj = new Object()
obj.x = 123
obj.y = 456

var arr = new Array()
arr[0] = 1
arr[1] = 2
arr[2] = 3

// 写法1 是语法糖,相当于写法2
//...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

包装类

JS 为了增强原始类型的功能,为 boolean、string、number 分别创建了一个构造函数:

  1. Boolean
  2. String
  3. Number

如果语法上,将原始类型当作对象使用时(一般是在使用属性时),JS 会自动在该位置利用对应的构造函数,创建对象来访问原始类型的属性。

类: 在 JS 中,可以认为,类就是构造函数。

成员属性(方法)、实例属性(方法):表示该属性是通过构造函数创建的对象调用的。

静态属性(方法)、类属性(方法):表示该属性是通过构造函数本身调用的。