proto和prototype的出现是为了啥?
首先认清楚proto和prototype存在的目的才能帮助我们更好的去了解他们
proto和prototype是帮助我们创建数组、对象 或者 函数的一个对象,proto和prototype他们本身也是一个对象;prototype只存在于构建函数中,它里面提供对其构造函数的一些方法,例如push、toString这些
proto存在与任何对象中;它里面属性是在使用new方法创建对象时,通过指向构造函数的prototype属性,这样proto中就可以使用构造函数中prototype对象里的方法啦
这里有点饶哈,细品!!!
proto和prototype区别
|
Prototype |
proto |
|
prototype是一个使用.prototype在多个对象之间共享行为和数据的简单方法 |
Proto也是一种使用__proto__在多个对象访问之间共享行为和数据的方法 |
|
所有的对象构造函数(函数)都有原型属性。 |
所有的对象都有proto属性。 |
|
原型使用函数访问函数的原型。 |
Proto允许使用对象访问函数的原型。 |
|
它主要用于解决在构造函数模式下创建对象时内存浪费的问题,然后每个对象都有单独的行为 |
它在查找链中用于解析方法、构造函数等。 |
|
它是类的属性。 |
它是该类实例的属性。 |
|
prototype属性在声明时被设置为函数。所有函数都有一个prototype属性。 |
Proto属性,该属性在使用new关键字创建对象时设置为对象。所有新创建的对象行为都有proto属性。 |
|
它在EcmaScript 6中被引入。 |
它是在ECMAScript 5中引入的。 |
|
它也被称为。prototype |
它也被称为dunder proto。 |
|
它主要用于javaScript。 |
它很少在JavaScript中使用。 |
proto和prototype是JavaScript中用于对象间共享行为和数据的关键概念。prototype仅在构造函数中存在,包含构造函数的方法如push、toString。而proto存在于所有对象中,通过__proto__指向构造函数的prototype,实现方法的访问。这两者主要解决内存浪费问题,涉及对象的查找链和方法解析。
2099

被折叠的 条评论
为什么被折叠?



