Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2013, 19:36
Новичок на форуме
Отправить личное сообщение для DangerMan Посмотреть профиль Найти все сообщения от DangerMan
 
Регистрация: 08.06.2013
Сообщений: 8

ООП в JavaScript
Изучаю JS по вашему курсу http://learn.javascript.ru/ (спасибо, замечательный курс), но тем не менее остаются вопросы

Какая разница между
var Foo = {
  name: 'Vasya',
  func: function() {
    doSomething();
  }
}

и
function Foo() {
  this.name = 'Vasya';
  this.func = function() {
    doSomething();
  }
}
var FooObj = new Foo();



Также не очень понял про члены объектов:
function Foo() {
  var name = ''; // 1
  name = ''; // 2
  this.name = ''; // 3
}

Чем они отличаются, и как писать в промышленном коде?
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2013, 20:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В первом случае ты создаешь объект. Во втором - конструктор объектов.
К слову функцию и статичные свойства нужно вынести в прототип. И имена объектов нужно писать с маленькой буквы, а с большой - только конструкторы.
Разница примерно такая. Если тебе нужен один предмет, скажем стул - ты берешь и делаешь его. Если тебе нужно много стульев, то ты делаешь станок (конструктор) и с легкостью создаешь столько стульев сколько хочешь.

В js при доступе к свойству объекта нужно указывать ключевое слово this обязательно.
А var name - это объявление локальной переменной.
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2013, 20:48
Новичок на форуме
Отправить личное сообщение для DangerMan Посмотреть профиль Найти все сообщения от DangerMan
 
Регистрация: 08.06.2013
Сообщений: 8

Спасибо за ответ, я еще не дошел до прототипов.
Можно поподробнее про статичные/нестатичные функции и свойства?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП в javascript. Алгоритмы построения приложений dmitry111 Оффтопик 17 08.06.2013 20:18
ООП в javascript iostream21 Общие вопросы Javascript 11 12.07.2012 00:16
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript: ООП Ars_Art Общие вопросы Javascript 13 09.02.2010 02:32