Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.03.2013, 16:33
Аспирант
Отправить личное сообщение для jsgeek Посмотреть профиль Найти все сообщения от jsgeek
 
Регистрация: 13.02.2013
Сообщений: 34

Цитата:
если дело только в именах то мне их не жалко)
то как js программист относится к глобальному объекту говорит о его профессионализме. Чем выше уровень тем меньше глобальных переменных
Ответить с цитированием
  #12 (permalink)  
Старый 22.03.2013, 16:42
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

о, благодарю. буду читать дальше
пока для себя вижу только одно преимущество прототипов - меньше глобальных переменных, но мне они никогда не мешали

кошерность кода для меня не важна на данном этапе. я думаю функциями и мне их легче читать

Последний раз редактировалось animhotep, 22.03.2013 в 16:44.
Ответить с цитированием
  #13 (permalink)  
Старый 22.03.2013, 17:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Удобно пока не появятся hideLightbox(lightbox), hideBlock(block), hideAnotherThing(anotherThing) вместо удобных lightbox.hide(), block.hide(), anotherThing.hide()
И вобще, почему свойства объекта должны быть в объекте, а методы объекта должны быть в оторваны от него? Подобная хрень наблюдается в php с его str_replace'ами всякими и array_combine'ами и жутко бесит )
И еще: допустим внутри метода нужно вызывать другой вспомогательный метод - как ты это разрулишь?
Ответить с цитированием
  #14 (permalink)  
Старый 22.03.2013, 17:32
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

Сообщение от danik.js
внутри метода нужно вызывать другой вспомогательный метод
вроде как ничего не мешает функцию в функции написать

пример бы... в котором явно видно преимущество прототипов, я почему то таких не встречал пока
Ответить с цитированием
  #15 (permalink)  
Старый 22.03.2013, 19:30
Аспирант
Отправить личное сообщение для ILL-JAH Посмотреть профиль Найти все сообщения от ILL-JAH
 
Регистрация: 24.03.2011
Сообщений: 93

Сообщение от jsgeek
то как js программист относится к глобальному объекту говорит о его профессионализме. Чем выше уровень тем меньше глобальных переменных
Другими словами если человек запихивает всё в (function(){})(), то он гуру js?
Сообщение от danik.js
допустим внутри метода нужно вызывать другой вспомогательный метод - как ты это разрулишь?
Может так?:

var clsCreateUser = function (name)
    {
      this.name = name
      this.change = function () { document.getElementById("uName").textContent = this.name; }
      this.edit = function ()
      {
        this.name = document.getElementById("edtName").value;
        this.change();
      }
      document.getElementById("edtBut").onclick = function () { clsCreateUser.user.edit(); }
      document.getElementById("delUser").onclick = function ()
      {
        delete clsCreateUser.user;
        document.getElementById("uName").textContent = "";
      }
      this.change();
    }
Ответить с цитированием
  #16 (permalink)  
Старый 22.03.2013, 19:36
Аспирант
Отправить личное сообщение для ILL-JAH Посмотреть профиль Найти все сообщения от ILL-JAH
 
Регистрация: 24.03.2011
Сообщений: 93

Сообщение от animhotep
я думаю функциями и мне их легче читать
Все так думают. Если в решении задачи лучшим является функциональный метод, то так и нужно делать. Применение в таком случае ооп - это оверинжиниринг.
Ответить с цитированием
  #17 (permalink)  
Старый 22.03.2013, 20:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ILL-JAH
Если в решении задачи лучшим является функциональный метод
Так javascript насколько я знаю пропитан функциональностью. О чем говорят методы call() и apply() . Да и классов в нем нет.
Пока нет наследования и конструкторов - нет никакой разницы.
Сейчас мы видим детский сад. Там можете играться чем угодно.
Ответить с цитированием
  #18 (permalink)  
Старый 22.03.2013, 20:44
Аспирант
Отправить личное сообщение для jsgeek Посмотреть профиль Найти все сообщения от jsgeek
 
Регистрация: 13.02.2013
Сообщений: 34

Цитата:
Другими словами если человек запихивает всё в (function(){})(), то он гуру js?
Вполне возможно, но вероятнее он пишет какой-нибудь модуль.
Конечно можно писать как тебе хочется и не использовать общепринятые (в профессиональных кругах) нормы, но однажды такое приложение превратится в хаос минимальное изменение в котором обрушит всё приложение, и для того чтобы добавить небольшой функционал придется переписывать пол приложения.
Этого не произойдет с небольшими приложениями, которые не нуждаются в расширении, но откуда можно знать что код из них в будущем не войдет в состав другого, более крупного приложения. И вместо того чтобы просто скопипастить код, его придется переписывать.
Пустяки там пара десятком строк подумаешь ты. А если таких приложений несколько? Получится что придется все их переписывать.
Или не переписывать, а писать с нуля, а это трата времени, которое ты мог бы посвятить чему-то другому.
Этот затянувшийся монолог следует интерпретировать так - лучше сразу делать на совесть.

Последний раз редактировалось jsgeek, 22.03.2013 в 20:47.
Ответить с цитированием
  #19 (permalink)  
Старый 22.03.2013, 20:55
Аспирант
Отправить личное сообщение для ILL-JAH Посмотреть профиль Найти все сообщения от ILL-JAH
 
Регистрация: 24.03.2011
Сообщений: 93

Вобщем, кому охота прокачать свой скилл в прототипах - читаем книгу: Алекс Маккоу "Веб-приложения на JavaScript" (2012).
Ответить с цитированием
  #20 (permalink)  
Старый 22.03.2013, 21:01
Аспирант
Отправить личное сообщение для jsgeek Посмотреть профиль Найти все сообщения от jsgeek
 
Регистрация: 13.02.2013
Сообщений: 34

Цитата:
Вобщем, кому охота прокачать свой скилл в прототипах - читаем книгу: Алекс Маккоу "Веб-приложения на JavaScript" (2012).
Я эту книгу не читал, но мне казалось там описывается использование MVC в JS, а заметка на обложке гласит - "Для jQuery-разработчика", что вероятно подразумевает знание jQuery.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
конфликт prototype и mootools Lutsk Библиотеки/Тулкиты/Фреймворки 0 22.02.2012 20:34
Перевести код с prototype в jquery alexey_samara jQuery 2 07.12.2010 16:52
Создание копий объекта - обязателен ли prototype? heh131 Общие вопросы Javascript 12 15.05.2010 12:55
Prototype v1.4.0 and Prototype v1.5.1_rc3 prihod Prototype & script.aculo.us 2 02.10.2008 16:08
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56