js高级_108、函数总结
函数执行分类:
执行函数定义
只是定义了一个函数,但是并没有执行函数体,只是创建了一个函数对象。内部代码相当于this.prototype={}
,创建一个空的原型对象(空的object对象)。
执行函数
也就是调用函数,函数名加括号。
函数原型
严格来说,函数也是一个实例(对象),是Function的实例,一般都说函数叫类型对象(构造函数),它既有显示原型属性,又有隐式原型属性。
函数实例
一般说的实例(对象)是new 构造函数产生的对象。
实例对象的隐式原型属性和构造函数的显示原型属性的关系
对象的隐式原型属性和构造函数的显示原型属性都指向同一个原型对象。除非手动更改。
隐式原型属性是在实例创建的时候产生的,内部代码(this._ proto=构造函数名.prototype)
原型链
作用:用来查找实例的属性。
变量找不到会报错。
对象属性查找不到会返回undefind
原型继承
js的继承是通过原型来实现的继承。也就是其它编程语言的继承是通过类来实现的,而js是通过原型对象来实现的。
一个实例对象的原型对象可能有多个。