переменные, определенные в прототипе, являются общими для всех объектов? - PullRequest
1 голос
/ 26 октября 2010

У меня есть объект lik

e this
testObj.prototype = {
    cVar: 15,
    init: function(c){
        /*initialization code*/
        this.cVar = c;
    }
};

var a = new testObj(10);
var b = new testObj(20);

Теперь оба значения cVar объекта равны 20. Они используют переменную? Как я могу получить отдельную переменную для каждого объекта?

1 Ответ

6 голосов
/ 26 октября 2010

Да, они общие. Для отдельных свойств определите их внутри конструктора:

function Ctor() {
    this.notShared = 1;
};

Ctor.prototype.shared = 2;
...