why
扩充类的属性和方法(全局性),无论在哪里声明,会修改全部的类
how
Person.prototype.age=30;
Person.prototype.speak = function(){printf('Ich kann Deutsch sprechen')}
//当我们调用
let person = new Person();
person.age;//30
person.speak();//output:Ich kann Deutsch sprechen
more
可能会有疑问,为什么我们要用这种方式去去改变类的方法而不是直接去修改Person类呢?
- 因为可能这是别人封装好的方法,你没有办法去修改别人的代码
- 假如代码是你自己的,你可以改,但是如果别人以前引用过你的代码,那么别人就要遭殃了