我有以下代码:
var A = function() {};
var a = new A();
var b = new A();
A.prototype.member1 = 10;
A.prototype = {}
var c = new A();
console.log(a.member1);
console.log(a.constructor === b.constructor);
console.log(a.constructor === c.constructor);
console.log('---------');
console.log(c.member1);
它的输出是:
10
true
false
---------
undefined
undefined
的原型a
并b
没有改变,而是c
有了一个新的。我是对的,这是由于a.constructor
不等于c.constructor
并且他们每个人都有自己的事实造成的prototype
吗?当两个对象的构造函数可能不相等时,是否还有其他循环?
额外的问题:为什么要打印两个undefined
字符串?(铬)