Следует ли избегать глобальных переменных?
Изучите Javascript и задайте вопрос о глобальных переменных. Из моего чтения большинство рекомендуют не использовать их. Тем не менее, в javascripting на основе классов, это неписаное правило все еще применяется? Например:
var width = 0;
var height = 0;
<!-- constructor -->
function Rectangle(){}
<!-- getters/setters -->
Rectangle.prototype.getWidth = function(){
return width;
}
Rectangle.prototype.setWidth = function(w){
width = w;
}
Rectangle.prototype.getHeight = function(){
return height;
}
Rectangle.prototype.setHeight = function(h){
height = h;
}
<!-- methods -->
Rectangle.prototype.area = function(){
return height * width;
}
var myRect = new Rectangle();
myRect.setWidth(5);
myRect.setHeight(4);
console.log(myRect.area()); //20
console.log(myRect.getWidth()); //5
myRect.setWidth(10);
console.log(myRect.getWidth()); //10
console.log(myRect.area()); //40
Я знаком с Java и умением использовать модификаторы доступа для классов, свойств и методов. Это потому, что модификаторы доступа не существуют в Javascript, что глобальных следует избегать?