Prototype — JavaScript фреймворк, який спрощує роботу з Ajax і деякими іншими функціями. Незважаючи на його доступність у вигляді окремої бібліотеки, він зазвичай використовується програмістами поряд з Ruby on Rails, і .
Тип | JavaScript фреймворк |
---|---|
Розробник | Prototype Core Team |
Стабільний випуск | 1.7.3 (24 вересня 2015 ) |
Версії | 1.7.3 (23 вересня 2015)[1] |
Мова програмування | JavaScript |
Ліцензія | MIT License |
Репозиторій | https://github.com/prototypejs/prototype/tree/master |
Вебсайт | prototypejs.org |
Цей фреймворк підтримується такими браузерами: 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);
Ця стаття не містить . (лютий 2014) |
- Release 1.7.3 — 2015.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Prototype JavaScript frejmvork yakij sproshuye robotu z Ajax i deyakimi inshimi funkciyami Nezvazhayuchi na jogo dostupnist u viglyadi okremoyi biblioteki vin zazvichaj vikoristovuyetsya programistami poryad z Ruby on Rails i PrototypeTipJavaScript frejmvorkRozrobnikPrototype Core TeamStabilnij vipusk1 7 3 24 veresnya 2015 8 rokiv tomu 2015 09 24 Versiyi1 7 3 23 veresnya 2015 1 Mova programuvannyaJavaScriptLicenziyaMIT LicenseRepozitorijhttps github com prototypejs prototype tree masterVebsajtprototypejs org Cej frejmvork pidtrimuyetsya takimi brauzerami Internet Explorer Windows 6 0 Mozilla Firefox 1 5 Apple Safari 2 0 4 Google Chrome 1 0 i Opera 9 25 Pidtrimka danih brauzeriv takozh oznachaye sho frejmvork pidtrimuyetsya Camino Konqueror IceWeasel Netscape 7 SeaMonkey ta inshimi yaki nalezhat cim zhe simejstvam MozhlivostiU Prototype prisutni rizni sposobi sproshennya stvorennya JavaScript zastosunkiv vid skorochenogo vikliku deyakih funkcij movi do skladnih metodiv zvernennya do XMLHttpRequest Takozh Prototype pidtrimuye klasi ta ob yekti zasnovani na klasah Prikladi funkcionaluFunkciya Dolar funkciya daye dostup do DOM elementu HTML storinki za jogo ID Vikoristovuyetsya yak zaminnik document getElementbyId iz takim sintaksisom span class nb document span span class p span span class nx getElementById span span class p span span class s1 lt id of element gt span span class p span Dolar funkciya zmenshuye kod do takogo span class nx span span class p span span class s1 lt id of element gt span span class p span Ale na vidminu vid funkciyi DOM funkciyi mozhna peredavati bilshe odnogo argumentu j funkciya poverne masiv ob yektiv z usima vidpovidnimi elementami const ar new Array id 1 id 2 id 3 for let i 0 i lt ar length i alert ar i innerHTML Napriklad dlya vkazannya koloru tekstu mozhna vikoristovuvati nastupnij kod lt id of element gt style color ffffff Abo z vikoristannyam metodi Prototype lt id of element gt setStyle color ffffff Kod dlya versij nizhche 1 5 Element setStyle lt id of element gt color ffffff Funkciya Dolar dolar funkciya prijmaye na vhid viraz u formati selektoru CSS ta povertaye masiv z elementiv DOM sho vidpovidayut comu selektoru Napriklad pri vikonanni cogo skriptu const f div block inp otrimayemo masiv yakij mistit usi elementi z klasu inp yaki perebuvayut u kontejneri div z identifikatorom id block U versiyi 1 5 0 realizaciya funkciyi v prototype js ne duzhe efektivna Yaksho vi planuyete vikoristovuvati danu funkciyu chasto v roboti z ob yemnimi j skladnimi html dokumentami mozhete rozglyanuti inshi vilni realizaciyi j prosto zaminiti samu funkciyu Funkciya F Dolar F funkciya F podibna do dolar funkciyi ta povertaye znachennya pevnogo elementa HTML formi Dlya tekstovogo polya funkciya bude povertati dani yaki mistyatsya v elementi Dlya elementa select funkciya poverne obrane v teperishnij moment znachennya F id of input element Zauvazhennya znak dolara normalnij dozvolenij simvol dlya identifikatoriv Javascript vin buv specialno dodanij v movu odnochasno z pidtrimkoyu regulyarnih viraziv dlya mozhlivosti vikoristannya Perl sumisnih metasimvoliv takih yak i Funkciya A Funkciya A peretvorit odin argument yakij vona otrimuye v ob yekt Array Cya funkciya u kombinaciyi z rozshirennyamidlya klasu Array polegshuye konvertuvannya abo kopiyuvannya bud yakih z perelichenih spiskiv v ob yekt Array Odin iz variantiv vikoristannya polyagaye v tomu shob peretvoriti DOM Nodelists u regulyarni masivi yaki mozhut buti bilsh efektivno vikoristani Funkciya H Funkciya H peretvoryuye ob yekti v perechisleni Hesh ob yekti yaki shozhi na asociativnij masiv Pripustimo mayem masiv var hash method post type 2 flag t Pri vikoristanni funkciyi var h H hash Otrimayemo alert h toQueryString method post amp type 2 amp flag t Ob yekt Ajax Ob yekt Ajax nadaye prosti metodi inicializaciyi j roboti z funkciyeyu Xmlhttprequest bez neobhidnosti pidlashtovuvati kod pid potribnij brauzer Isnuye dva sposobi vikliku ob yekta Ajax Request povertaye XML visnovok Ajax Zapitu u toj chas yak Ajax Updater pomishaye vidpovid servera v obranu galuz DOM Ajax Request u prikladi nizhche znahodit znachennya dvoh poliv vvedennya zapituye storinku iz servera vikoristovuyuchi znachennya u viglyadi Post Zapitu a pislya zavershennya vikonuye koristuvacku funkciyu 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 Ob yektno oriyentovane programuvannya Prototype takozh dodaye pidtrimku tradicijnishogo ob yektno oriyentovanogo programuvannya Dlya stvorennya novogo klasu vikoristovuyetsya metod Class create Klasu privlasnyuyetsya prototip prototype yakij vistupaye yak osnova dlya kozhnogo ekzemplyara klasu Stari klasi mozhut buti rozshireni novimi za dopomogoyu Object extend stvorennya novogo klasu v stili prototype 1 6 var FirstClass Class create inicializaciya konstruktora initialize function this data Hello World stvorennya novogo klasu v stili prototype 1 5 var DataWriter Class create DataWriter prototype printData function document write this data Object extend DataWriter FirstClass Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lyutij 2014 Release 1 7 3 2015