原型重定向

注意点:

1,内置类的原型是无法重定向的

2,优点:在需要向原型上扩充大量的方法的时候,重定向的操作一方面可以简化代码的编写,一方面也可以把所有扩充的公共属性和方法统一管理起来。

3,弊端:原型重定向后之前原型对象上存在的公共属性和方法也就没有了。

      解决:1)如果之前原型上没有手动扩充任何属性方法,则重定向的原型对象手动设置一个constructor即可。

                  2)如果之前原型上还存在其他的属性方法,则在重定向之前最好做“新老”原型对象的合并处理。

例如:

(1)

function fn(){

  this.x = 100;

  this.y = 200;

}

fn.prototype.write = function () {};

fn.prototype.read = '666';

fn.prototype = Object.assign(fn.prototype,{say(){},

  eat(){}});

let f1 = new fn();

console.log(f1)

(2)


你可能感兴趣的:(原型重定向)