宝哥软件园

对javascript原型的深入理解

编辑:宝哥软件园 来源:互联网 时间:2021-08-20

图中很好地说明了原型和原型

简单可以理解为:

狗A(函数foo()),狗A的模板描述:A .模板(foo.prototype)是一个对象,A .模板有一个构造方法

foo . prototype . constructor=function foo()动物B(function function()),动物B的模板描述。b .模板(功能.原型),b .模板有构造方法

function . prototype . constructor=function()dog C=new dog A(f1=new foo())

那么狗c=a的父模板,模板就是f1。_ _ proto _ _=foo.prototype .

狗a=B的父模板,模板为foo。_ _ proto _ _=function.prototype。

只有函数有原型,而对象没有。

但是函数也有__proto__,因为函数也是对象。函数的__proto__指向函数. prototype.

也就是说,普通函数是构造函数的一个例子。

__proto__可以理解为对父类模板的引用。用于查找父类模板的

原型可以理解为一个对象的属性,用来描述它是如何被定义为一个模板的,模板有方法和属性。

如果把function foo()本身作为模板原型,它会有自己的构造函数,模板的属性构造函数描述这个构造函数。

实际上,foo()是隐式继承自父模板的,它是function function()的模板属性。也就是它的原型。

设计师定义的时候名字混淆了,不好理解。这就是javascript的失败。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+