2021-10-24 举例理解prototype的作用

prototype的诞生初衷是为了节约内存

把共有的属性和方法放到prototype上,而不是每个对象都存着这些共有属性和方法
从而达到节省内存的目的

理解

prototype就像是一类物品的共有部分(如:轮子),加上特有部分,构成了差异性
而__proto__是访问这个共有部分的钥匙

new一个对象时发生了什么
1.新建一个空对象
2.空对象.__proto__=原对象.prototype
3.根据上下文绑带赋值(空对象.name=name)
4.return这个对象
例子
function puti(name) {
    
    
    this.name = name
    this.say = function() {
    
    
        console.log("my name is &{
    
    {name}}");
    }
}
puti.prototype.change = function() {
    
    
    console.log("72changes");
}
var new1 = new puti("wukong");
console.log("new1", new1);

猜你喜欢

转载自blog.csdn.net/rowlet/article/details/120936874