一切基于对象,函数是由Function
构造器创建的 function 对象
#对象的继承
每一个对象都有一个__proto__
属性,这是一个纽带,可以顺着这个纽带找到他的父亲,也就是继承的那个对象
创建对象有 N 种方法,但是它们都继承于最底层的 Object,它有一个构造器,可以使用这个构造器创建一个对象,但是有字面量快捷方法,所以就不需要使用这种方法
#函数的继承
每个函数都是对象,那么它们便自然拥有了继承,那么继承的谁呢?
每一个函数都拥有一个prototype
属性,它是一个对象,叫做原型,prototype
存储这个函数相关的方法或者数据,例如什么call
,apply
,bind
这些都是 Function 原型的,而函数便是继承于它,因此可以使用这些方法
Function 继承于它自己的原型,它的原型继承于 Object 的 prototype 属性