Показать сообщение отдельно
  #5 (permalink)  
Старый 09.04.2014, 16:29
Интересующийся
Отправить личное сообщение для Universe Посмотреть профиль Найти все сообщения от Universe
 
Регистрация: 11.06.2011
Сообщений: 20

Можно вас попросить почитать комментарии в коде? Я всё правильно понял?
(function (window) { //Window можно и не передавать, но тогда к нему нельзя будет обратится в локальных функциях

    //Здесь можем записывать публичные переменные, window === this в данном случае
    window.foo = 2;
    this.bar = 3;

    //Также можем создавать "статические" переменные, вешая их непосредственно на функцию
    Ball.STATIC_VAR = "staticVar";

    //Здесь можем записывать "приватные" переменные, которые нужны для функционирования данного класса, но не должны попасть в global
    var ballName; // Данная переменная будет доступна только для функций данной области видимости
    var ballSize = 25;
    //После того как функция выполнится - все переменные в этом блоке будут уничтожены
    //----------------------------
    function Ball(size, weight){
        this.size = size;
        this.weight = weight;
        window.ballName2 = "Tree";
        ballName = "Ball2";
        this.init();
    }

    Ball.prototype = Object.create(Circle); //Наследуем свойства от Circle

    Ball.prototype.init = function(){
        console.log(ballName2);
    }

    window.Ball = Ball;
}(window));

Последний раз редактировалось Universe, 09.04.2014 в 16:33.
Ответить с цитированием