У меня возникла проблема при создании экземпляра класса 2 раза. Второй экземпляр сохраняет параметры первого, только если объекты.2 разных экземпляра сохраняют одинаковые значения
Вот простой пример:
var Test = function() {};
Test.prototype = {
\t bonjour: null,
\t hello: {
\t \t hum: null,
\t \t ya: null,
\t },
};
var testA = new Test();
testA.bonjour = 'Aaa';
testA.hello.hum = 'Bbb';
// return "Aaa"
console.log(testA.bonjour);
// return "{ hum: 'Bbb', ya: null }"
console.log(testA.hello);
console.log('');
var testB = new Test();
// return "null" -> ok
console.log(testB.bonjour);
// return "{ hum: 'Bbb', ya: null }" -> wtf ?!
console.log(testB.hello);
Кто-нибудь есть какие-либо идеи, почему? Спасибо.
Мутирующий прототип влияет на все экземпляры, используя этот прототип. Более подробную информацию об этом можно найти здесь: http://stackoverflow.com/a/16063711/1641941 – HMR