函数的本质
函数的本质就是对象。
构造函数也称为构造器
所有的对象都是通过 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
包装类
JS 为了增强原始类型的功能,为 boolean、string、number 分别创建了一个构造函数:
- Boolean
- String
- Number
如果语法上,将原始类型当作对象使用时(一般是在使用属性时),JS 会自动在该位置利用对应的构造函数,创建对象来访问原始类型的属性。
类: 在 JS 中,可以认为,类就是构造函数。
成员属性(方法)、实例属性(方法):表示该属性是通过构造函数创建的对象调用的。
静态属性(方法)、类属性(方法):表示该属性是通过构造函数本身调用的。