javascript, prototype и JSON - магия клиентских скриптов или берем пример с jquery

#javascript #jquery #prototype #json

Комментарии

  • 7 окт 2014 07:36
    Многие шаблоны для сайтов, которые я сделал, были написаны с использованием javascript и jquery. Часто такой код выглядит ужасно, для тех кто в теме понятно почему, смесь из запросов к библиотеке и синтаксиса javascript внутри функций, в одном большом модуле заставляет шевелиться волосы, особенно когда количество таких функций хорошо переваливает за 50.
  • 7 окт 2014 07:39
    Как и любой программист, относящийся к собственным разработкам критично, я давно собирался создать в этом творческом беспорядке стройную систему кода. Ничего специального для высокоэффективной организации кода в javscript предпринимать не надо, все что нужно уже встроено в интерпретатор браузера.
  • 7 окт 2014 07:42
    Первая технология, которая становится незаменимой - JSON (javascript object notation), которая позволяет описывать объекты произвольной сложности единой конструкцией кода (можно провести аналогию с классом c#). Единственная переменная объект описывается в отдельном файле, внутри фигурных скобок перечисляются свойства и методы объекта, кроме того, таким же способом, могут быть описаны и вложенные объекты.
  • 7 окт 2014 07:43
    Дальнейшее использование объекта сводится к стандартной операции с точкой...
  • 7 окт 2014 07:45
    Для объектов в единственном экземпляре такая методика удобна и незаменима. Создавайте коллекцию объектов, и используйте их в различных проектах - налицо повторное использование кода и стандартизация кода.
  • 7 окт 2014 07:47
    Другой случай, когда требуется создавать множество объектов одного типа, или по аналогии с с# - множество экземпляров класса. В этом случае все свойства и методы объекта должны быть описаны внутри его прототипа, а сам объект будет создаваться через операцию new.
  • 7 окт 2014 07:50
    Прототип объектов javascript происходит из объекта Object, встроенного в цепочку классов javascript. Этот объект негласно является родительским для всех остальных объектов. Для всех экземпляром объекта, созданных в течении работы скрипта, свойства и методы из прототипа, будут разделяться. Если же поместить их вне прототипа, они будут уникальными для каждого отдельного объекта.
  • 7 окт 2014 07:51
    Прототип объектов используется для расширения возможностей базового javascript. Например, библиотека jquery, через прототипы дополняет стандартные объекты расширенным функционалом...
  • Комментарий удалён.
  • Комментарий удалён.
  • 7 окт 2014 09:15
    var myObject =
    {
         objectName : "Название объекта",
         objectDate: new Date('01/01/1979',
    getName: function () { return this.objectName; },
    setName:function (newName) { this.objectName = newName; },
    innerObject:
      {
           innerObjectName : "Название вложенного объекта",
           innerObjectParams: ["p1", "p2", "p3", "p4"],
           setInnerParam: function(paramIndex, paramValue) { this.innerObjectParams[paramIndex] = paramValue; },
           getName: function () { return this.innerObjectName; },
          setName: function (newName) { this.innerObjectName = newName;},
       }
    }

    - как видите, описание даже сложных объектов в JSON нотации становится весьма приятным занятием
  • 7 окт 2014 09:16
    myObject.setName('Новое имя объекта'-);
  • 7 окт 2014 09:16
    myObject.innerObject.setName('Новое имя вложенного объекта'\);