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

Так ли обязательна самовызывающая анонимная функция?
Разбираюсь с основами ООП в js. Довольно часто натыкаюсь на имитацию классов при помощи самовызывающейся анонимной функции, например вот так:
(function (window) {

    window.ballName = "Ball";

    function Ball(size, weight){
        this.size = size;
        this.weight = weight;
        this.init();

    }

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

    Ball.prototype.init = function(){

    }

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

Вот и возникает вопрос, а так ли необходима сама эта анонимная функция? Не проще ли сделать вот так?
var ballName = "Ball";

function Ball(size, weight)
{
    this.size = size;
    this.weight = weight;
    this.init();
}

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

Ball.prototype.init = function(){

};


Существует ли принципиальная разница между этими двумя записями? И если да, то какая?
Ответить с цитированием