Следует ли избегать глобальных переменных?

Изучите 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, что глобальных следует избегать?

Ответы на вопрос(8)

Ваш ответ на вопрос