Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var counterFunction = function() {
var counter = 0;
return function() {
alert(++counter);
}
}
var counterFunction = (function() {
var counter = 0;
return function() {
alert(++counter);
}
})();
function A() {}
A.staticProperty = 10;function A() {
var counter = 0;
return function() {
alert(++counter);
};
}
function A() {} // конструктор
A.prototype = (function () { // обрамляющий контекст
// расшаренное "статическое" свойство
var sharedProperty = 10;
// сам прототип
return {
constructor: A,
getSharedProperty: function () {
return sharedProperty;
},
setSharedProperty: function (newValue) {
sharedProperty = newValue;
}
};
})();
var a = new A;
var b = new A;
alert(a.getSharedProperty()); // 10
alert(b.getSharedProperty()); // 10
b.setSharedProperty(20);
alert(a.getSharedProperty()); // 20
alert(b.getSharedProperty()); // 20var o1 = new obj();
o1.increment();
function obj() {
var counter=0;
this.increment = function() {
counter++;
}
}
Имитация статических переменных в JavaSctipt