首页 > javascript构造函数中加属性和原型上加属性的问题

javascript构造函数中加属性和原型上加属性的问题

在javascript中在构造函数中加属性和在原型上加属性各有什么优劣吗


构造函数的那就只能是自己的,要是在原型上的话就是公有的,其它使用原型建立的构造函数,只要原型的修改了,对应的构造函数也会被修改


一个是实例自己的,一个是原型共享的,优劣什么的看需求的场景,例子:

function Foo() {
  this.prop = 123;
}

Foo.prototype.prop2 = 555;

var f1 = new Foo()
    f2 = new Foo();

console.log(f1.prop, f2.prop); // 123 123
f1.prop = 444;
console.log(f1.prop, f2.prop); // 444 123

console.log(f1.prop2, f2.prop2); // 555 555
f1.__proto__.prop2 = 666;
console.log(f1.prop2, f2.prop2); // 666 666
【热门文章】
【热门文章】