function Person(name){ this.name = name; } Person.prototype = {};// 清空prototype Person.prototype.sayHello = function(){alert(this.name+"say Hello!");};
在定义Person
类时清空了Person.prototype
。new Person
后似乎感受不到差异,prototype上的方法还是能调用。
是不是constractor不重定义影响不大,如果有影响,会在哪些方面产生影响?
传送门
当然有影响了,关于 constructor 的介绍 MDN。
由于你把 Person.prototype 清空了,比如你定义一个
你也看到了,爷爷变成了爸爸,乱伦了。。
constructor 有时候很有用的。
prototype修改后原来的sayHello方法没了