Prototype (фреймворк)

Prototype
ТипJavaScript фреймворк
РозробникPrototype Core Team
Стабільний випуск1.7.3 (24 вересня 2015; 9 років тому (2015-09-24))
Версії1.7.3 (23 вересня 2015)[1]
Мова програмуванняJavaScript
ЛіцензіяMIT License
Репозиторійhttps://github.com/prototypejs/prototype/tree/master
Вебсайтprototypejs.org

Prototype — JavaScript фреймворк, який спрощує роботу з Ajax і деякими іншими функціями. Незважаючи на його доступність у вигляді окремої бібліотеки, він зазвичай використовується програмістами поряд з Ruby on Rails, script.aculo.us і Rico.

Цей фреймворк підтримується такими браузерами: Internet Explorer (Windows) 6.0 +, Mozilla Firefox 1.5 +, Apple Safari 2.0.4 +, Google Chrome 1.0 + і Opera 9.25 +. Підтримка даних браузерів також означає, що фреймворк підтримується Camino, Konqueror, IceWeasel, Netscape 7+, SeaMonkey, та іншими, які належать цим же сімействам.

Можливості

У Prototype присутні різні способи спрощення створення JavaScript застосунків - від скороченого виклику деяких функцій мови до складних методів звернення до XMLHttpRequest.

Також Prototype підтримує класи та об'єкти, засновані на класах.

Приклади функціоналу

Функція $()

Долар-функція $() дає доступ до DOM-елементу HTML сторінки за його ID.

Використовується як замінник document.getElementbyId із таким синтаксисом:

document.getElementById('<id_of_element>').

Долар-функція зменшує код до такого:

$('<id_of_element>')

Але на відміну від функції DOM, функції $() можна передавати більше одного аргументу й функція поверне масив об'єктів з усіма відповідними елементами:

const ar = new Array('id_1', 'id_2', 'id_3');
for (let i=0; i<ar.length; i++)
{
  alert(ar[i].innerHTML);
}

Наприклад, для вказання кольору тексту можна використовувати наступний код:

$('<id_of_element>').style.color = "#ffffff";

Або з використанням методи Prototype:

$('<id_of_element>').setStyle({color: '#ffffff'});

Код для версій нижче 1.5:

Element.setStyle('<id_of_element>', {color: "#ffffff"});

Функція $$()

Долар-долар-функція $$() приймає на вхід вираз у форматі селектору CSS та повертає масив з елементів DOM, що відповідають цьому селектору.

Наприклад, при виконанні цього скрипту:

const f = $$('div#block .inp');

отримаємо масив, який містить усі елементи з класу inp, які перебувають у контейнері div з ідентифікатором id="block".

У версії 1.5.0 реалізація функції $$() в prototype.js не дуже ефективна. Якщо ви плануєте використовувати дану функцію часто в роботі з об'ємними й складними html-документами, можете розглянути інші вільні реалізації й просто замінити саму функцію.

Функція $F()

Долар-F-функція $F() - подібна до долар-функції та повертає значення певного елемента HTML форми. Для текстового поля функція буде повертати дані, які містяться в елементі. Для елемента select функція поверне обране в теперішній момент значення.

$F("id_of_input_element")

Зауваження: знак долара $ — нормальний дозволений символ для ідентифікаторів Javascript; він був спеціально доданий в мову одночасно з підтримкою регулярних виразів для можливості використання Perl-сумісних метасимволів, таких як $' і $'.

Функція $A()

Функція $A() перетворить один аргумент, який вона отримує в об'єкт Array. Ця функція, у комбінації з розширеннямидля класу Array, полегшує конвертування або копіювання будь-яких з перелічених списків в об'єкт Array. Один із варіантів використання полягає в тому, щоб перетворити DOM Nodelists у регулярні масиви, які можуть бути більш ефективно використані.

Функція $H()

Функція $H() перетворює об'єкти в перечислені Хеш об'єкти, які схожі на асоціативний масив.

//Припустимо маєм масив:
var hash = {method: post, type: 2, flag: t};
//При використанні функції:
var h = $H(hash);
//Отримаємо:
alert(h.toQueryString());
//method=post&type=2&flag=t

Об'єкт Ajax

Об'єкт Ajax надає прості методи ініціалізації й роботи з функцією Xmlhttprequest, без необхідності підлаштовувати код під потрібний браузер. Існує два способи виклику об'єкта: Ajax.Request повертає XML висновок Ajax- Запиту, у той час як Ajax.Updater поміщає відповідь сервера в обрану галузь DOM. Ajax.Request у прикладі нижче знаходить значення двох полів введення, запитує сторінку із сервера, використовуючи значення у вигляді Post- Запиту, а після завершення виконує користувацьку функцію

 showResponse():

var val1 = escape($F("name_of_id_1"));
var val2 = escape($F("name_of_id_2"));
var url = "http://yourserver/path/server_script";
var pars = {value1: val1, value2: val2};

var myAjax = new Ajax.Request(
  url,
  {
    method: "post",
    parameters: pars,
    onComplete: showResponse
   });

Об'єктно-орієнтоване програмування

Prototype також додає підтримку традиційнішого об'єктно-орієнтованого програмування. Для створення нового класу використовується метод Class.create(). Класу привласнюється прототип prototype, який виступає як основа для кожного екземпляра класу. Старі класи можуть бути розширені новими за допомогою Object.extend. // створення нового класу в стилі prototype 1.6

var FirstClass = Class.create({
  // ініціалізація конструктора
  initialize: function () {
      this.data = "Hello World";
  }
});

// створення нового класу в стилі prototype 1.5
var DataWriter = Class.create();
DataWriter.prototype = {
   printData: function () {
      document.write(this.data);
   }
};

Object.extend(DataWriter, FirstClass);
  1. Release 1.7.3 — 2015.

Read other articles:

ماري لينكولن بيكويث   معلومات شخصية الميلاد 22 أغسطس 1898(1898-08-22)مقاطعة هنري، ولاية ايوا الوفاة 10 يوليو 1975 (76 سنة)روتلاند، فيرمونت مواطنة الولايات المتحدة  الأولاد لا يوجد والدان جيسي هارلان لينكولن و وارن والاس بيكويث الأم جيسي هارلان لينكولن  إخوة وأخوات روبرت تود لي...

 

Multi-purpose building in Bethlehem, Pennsylvania Stabler ArenaStabler Arena in January 2018Location124 Goodman DriveBethlehem, Pennsylvania 18015Coordinates40°35′4″N 75°21′25″W / 40.58444°N 75.35694°W / 40.58444; -75.35694OwnerLehigh UniversityOperatorLehigh UniversityCapacityConcerts: 6,200 Basketball: 5,600OpenedMay 29, 1979TenantsLehigh Mountain Hawks (NCAA) (1979–present)Pennsylvania ValleyDawgs (USBL) (1999–200?)Lehigh Valley Outlawz (GLIFL/CI...

 

SoulmatePoster rilis teatrikalNama lainHangul소울메이트 SutradaraMin Yong-geunBerdasarkanSoul Mateoleh Derek TsangPemeranKim Da-miJeon So-neeByeon Woo-seokPerusahaanproduksiClimax Studio[1]ANDMARQDistributorNext Entertainment World[2]Tanggal rilis 15 Maret 2023 (2023-03-15) NegaraKorea SelatanBahasaKorea Soulmate (Hangul: 소울메이트) adalah film Korea Selatan yang disutradarai oleh Min Yong-geun dan dibintangi oleh Kim Da-mi, Jeon So-nee dan Byeon...

Diploma militer yang memberikan kewarganegaraan kepada pasukan yang akan pensiun dan keluarganya. Kalimat kunci di sini adalah est civitas eis data, dan civitas berarti kewarganegaraan. Menurut Cicero pada masa akhir Republik Romawi, istilah civitas (jamak civitates,pengucapan Latin: [kɪwɪtaːs] ) adalah tubuh sosial cives, atau warga, yang disatukan oleh hukum (concilium coetusque hominum jure sociati). Hukum-lah yang mengikat mereka semua dengan memberikan tanggung jawab (munera) di ...

 

Volume space bounded by a sphere In Euclidean space, a ball is the volume bounded by a sphereThis article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Ball mathematics – news · newspapers · books · scholar · JSTOR (March 2024) (Learn how and when to remove this template message) In mathematics, a ball is the soli...

 

Pour les personnes ayant le même patronyme, voir Lefranc. Bernard Lefranc Fonctions Député français 23 juin 1988 – 1er avril 1993(4 ans, 9 mois et 9 jours) Élection 12 juin 1988 Circonscription 4e de l'Aisne Législature IXe (Cinquième République) Groupe politique SOC Prédécesseur Proportionnelle par département Successeur Emmanuelle Bouquillon 2 avril 1986 – 14 mai 1988(2 ans, 1 mois et 12 jours) Élection 16 mars 1986 Circonscription Aisne Légis...

56th expedition to the International Space Station ISS Expedition 56Promotional PosterMission typeISS ExpeditionMission duration124d 13h 30m (Change Of Command to Soyuz MS-08 Undocking) 122d 22h 41m (Official) ExpeditionSpace stationInternational Space StationBeganJune 1, 2018 (Change of Command)June 3, 2018 (Official) UTCEndedOctober 4, 2018, UTCArrived aboardSoyuz MS-08Soyuz MS-09Departed aboardSoyuz MS-08Soyuz MS-09 CrewCrew size6MembersExpedition 55/56:Andrew Feustel Oleg Artemyev Richar...

 

Galaxy in the constellation Centaurus NGC 5026legacy surveys image of NGC 5026Observation data (J2000 epoch)ConstellationCentaurusRight ascension13h 14m 13.656s[1]Declination−42° 57′ 40.45″[1]Redshift0.011838[2]Heliocentric radial velocity3549 km/s[2]Distance130.6 Mly (40.03 Mpc)[3]Apparent magnitude (V)13.42[4]Apparent magnitude (B)12.48[4]CharacteristicsType(R')SB0/a(rs)[2]Size99...

 

Индиана Джонс: В поисках утраченного ковчегаангл. Raiders of the Lost Ark Жанр приключенческий боевик Режиссёр Стивен Спилберг Продюсер Фрэнк Маршалл Авторысценария Сюжет:Джордж ЛукасФилип КауфманСценарий:Лоуренс Кэздан В главныхролях Харрисон Форд Карен Аллен Оператор Д...

В Википедии есть статьи о других людях с такой фамилией, см. Макарова. Тамара Макарова В роли Аграфены Шумилиной в фильме «Учитель» (1939) Имя при рождении Тамара Фёдоровна Макарова Дата рождения 31 июля (13 августа) 1907(1907-08-13) Место рождения Санкт-Петербург, Российская им�...

 

Constituency of the Northern Ireland Assembly Not to be confused with Lagan Valley (UK Parliament constituency). 54°30′22″N 6°02′38″W / 54.506°N 6.044°W / 54.506; -6.044 Lagan ValleyNorthern Ireland AssemblyParliamentary constituencyBoundary of Lagan Valleyin Northern IrelandCurrent constituencyCreated1996Seats6 (1996–2016)5 (2017–)MLAs  Robbie Butler (UUP)  Sorcha Eastwood (APNI)  Paul Givan (DUP)  David Honeyford (APNI)  Emma ...

 

Gabungan dari dua himpunan   A ∪ B {\displaystyle ~A\cup B} Dalam teori himpunan, gabungan (bahasa Inggris: union) dari koleksi himpunan adalah himpunan semua anggota dalam koleksi.[1] Gabungan merupakan salah satu operasi dasar, yang dapat menggabungkan atau mengaitkan anggota himpunan ke anggota himpunan lain. Gabungan dilambangkan dengan ∪. Untuk penjelasan tentang penggunaan simbol lebih lanjut, lihat tabel dari simbol matematika Gabungan dari dua himpunan Gabung...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016) إريتريا في الألعاب الأولمبية علم إريتريا رمز ل.أ.د.  ERI ل.أ.و. اللجنة الأولمبية الوطنية الإريتري...

 

English plain The Cheshire Plain viewed from the Mid-Cheshire Ridge The Cheshire Plain is a relatively flat expanse of lowland within the county of Cheshire in North West England but extending south into Shropshire. It extends from the Mersey Valley in the north to the Shropshire Hills in the south, bounded by the hills of North Wales to the west and the foothills of the Pennines to the north-east.[1] The Wirral Peninsula lies to the north-west whilst the plain merges with the South L...

 

American soccer player Chris Wingert Personal informationFull name Chris WingertDate of birth (1982-06-16) June 16, 1982 (age 42)Place of birth Babylon, New York, United StatesHeight 5 ft 11 in (1.80 m)Position(s) DefenderCollege careerYears Team Apps (Gls)2000–2003 St. John's Red Storm Senior career*Years Team Apps (Gls)2003 Brooklyn Knights 12 (1)2004–2005 Columbus Crew 49 (0)2006–2007 Colorado Rapids 16 (0)2007–2014 Real Salt Lake 204 (1)2015–2016 New York Cit...

Ini adalah nama Tionghoa; marganya adalah Lei. Lei Feng雷锋Lei Feng merawat dan memperbaiki mobil. (Berdasarkan kerja keras Lei Feng dalam keterampilan mengemudi mobil setelah mendaftar di ketentaraan dan perawatan mobilnya yang cermat, perbaikan tepat waktu, dan tindakan lainnya.)Lahir(1940-12-18)18 Desember 1940Wangcheng, HunanMeninggal15 Agustus 1962(1962-08-15) (umur 21)AnshanSebab meninggalKecelakaan kerjaTempat tinggalAnshan dan Fushun, LiaoningKebangsaanTiongkokWarga negara...

 

Pour les autres articles nationaux ou selon les autres juridictions, voir Code pénal. Cet article est une ébauche concernant le droit et le Maroc. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Le Code pénal marocain est la codification du droit pénal au Maroc. Il est entré en vigueur le 17 juin 1963 pour remplacer le Code pénal de 1913. Promulgué par le dahir no 413-59-1 et amendé à plusieurs rep...

 

Den här artikeln behöver källhänvisningar för att kunna verifieras. (2014-06) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. Friedrichsfelde (Berlin-Friedrichsfelde) Stadsdel Friedrichsfeldes slott i Tierpark Berlin. Land  Tyskland Stad Berlin Stadsdelsområde Lichtenberg Koordinater 52°30′21″N 13°31′9″Ö / 52.50...

Dendrobium stratiotes Klasifikasi ilmiah Kerajaan: Plantae (tanpa takson): Tracheophyta (tanpa takson): Angiospermae (tanpa takson): Monokotil Ordo: Asparagales Famili: Orchidaceae Genus: Dendrobium Spesies: Dendrobium stratiotes Nama binomial Dendrobium stratiotesRchb.f. Dendrobium stratiotes adalah spesies tumbuhan yang tergolong ke dalam famili Orchidaceae. Spesies ini juga merupakan bagian dari ordo Asparagales. Spesies Dendrobium stratiotes sendiri merupakan bagian dari genus Dendrobium...

 

54°31′30″N 1°14′17″W / 54.525°N 1.238°W / 54.525; -1.238 Coat of arms granted in 1911.[1] Middlesbrough Rural District was a rural district in the North Riding of Yorkshire, England from 1894 to 1932. It was based on the Middlesbrough rural sanitary district created in 1875, which consisted of the Middlesbrough poor law union, except those parts in urban sanitary districts (that is: Middlesbrough, Eston (from 1884) and Thornaby). The rural district...