Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   различие между функцией и объектом (https://javascript.ru/forum/misc/34636-razlichie-mezhdu-funkciejj-i-obektom.html)

zlodiak 13.01.2013 13:14

различие между функцией и объектом
 
помогите пожалуйста понять почему здесь всё работает как надо, а здесь нет

проблема в том, что в первом случае для объявления объекта использую литеральную нотацию.в результате становится возможным вызов его функции init из файла index.html .
во втором случае для объявления объекта я использую Function Declaration. в результате скрипт ломается и консоль выводит ошибку

как я понимаю в javascript всё является объектами. даже функция. так почему же я получаю ошибку во втором случае?

danik.js 13.01.2013 15:41

function mediator(){
	this.ememy = {};
	
	this.players = {};
	
	this.init = function(){
...

Dim@ 13.01.2013 17:26

danik.js,
не прокатит:
function mediator(){
    this.ememy = {};
     
    this.players = {};
     
    this.init = function(){
      alert("LOL");
     }
}
mediator.init()

Dim@ 13.01.2013 17:31

zlodiak,
потому что то что во втором случае - тело функции, а не её содержимое, плюс так как в теле функции переменные объявляются без var то они записываются в область видимости где состоит функция (ещё в ИЕ вроде есть пара багов с этим)


Часовой пояс GMT +3, время: 23:28.