ÐобÑо пожаловаÑÑ Ð½Ð° кÑÑÑ MDN JavaScript Ð´Ð»Ñ Ð½Ð°ÑинаÑÑÐ¸Ñ ! РпеÑвой ÑÑаÑÑе кÑÑÑа Ð¼Ñ Ð´Ð°Ð´Ð¸Ð¼ базовое опÑеделение JavaScript, оÑвеÑим на вопÑоÑÑ Â«Ð§Ñо Ñакое JavaScript?» и «ЧÑо он делаеÑ?», Ñзнаем как ÑабоÑÐ°ÐµÑ JavaScript и как добавиÑÑ ÐµÐ³Ð¾ на веб-ÑÑÑаниÑÑ.
ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе навÑки: ÐÐ°Ð·Ð¾Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑÐ½Ð°Ñ Ð³ÑамоÑноÑÑÑ, знание оÑнов HTML и CSS. Цели: ÐнакомÑÑво Ñ JavaScript и его возможноÑÑÑми, ÑпоÑобами его подклÑÑÐµÐ½Ð¸Ñ Ðº веб-ÑÑÑаниÑе. ÐпÑеделение вÑÑокого ÑÑовнÑJavaScript ÑÑо ÑзÑк, коÑоÑÑй позволÑÐµÑ Ð²Ð°Ð¼ пÑименÑÑÑ ÑложнÑе веÑи на web ÑÑÑаниÑе â каждÑй Ñаз, когда на web ÑÑÑаниÑе пÑоиÑÑ Ð¾Ð´Ð¸Ñ ÑÑо-Ñо болÑÑее, Ñем пÑоÑÑо ÐµÑ ÑÑаÑиÑное оÑобÑажение â оÑобÑажение пеÑиодиÑеÑки обновлÑемого конÑенÑа, или инÑеÑакÑивнÑÑ ÐºÐ°ÑÑ, или анимаÑÐ¸Ñ 2D/3D гÑаÑики, или пÑокÑÑÑка видео в пÑоигÑÑваÑеле, и Ñ.д. â можеÑе бÑÑÑ ÑвеÑенÑ, ÑÑо ÑкоÑее вÑего, не обоÑлоÑÑ Ð±ÐµÐ· JavaScript. ÐÑо ÑÑеÑий Ñлой ÑлоÑного пиÑога ÑÑандаÑÑнÑÑ web ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹, два из коÑоÑÑÑ (HTML и CSS) Ð¼Ñ Ð´ÐµÑалÑно ÑаÑкÑÑли в дÑÑÐ³Ð¸Ñ ÑаÑÑÑÑ ÑÑебного поÑобиÑ.
ТÑи ÑÐ»Ð¾Ñ Ð¿ÑекÑаÑно вÑÑÑÑаиваÑÑÑÑ Ð´ÑÑг над дÑÑгом. ÐÐ»Ñ Ð¿ÑимеÑа пÑимеÑа возÑмÑм кнопкÑ. ЧÑÐ¾Ð±Ñ Ð·Ð°Ð´Ð°ÑÑ ÑÑÑÑкÑÑÑÑ, Ñоздадим ÑазмеÑÐºÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ HTML:
<button type="button">Player 1: Chris</button>
ÐаÑем добавим немного CSS, ÑÑÐ¾Ð±Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° вÑглÑдела ÑимпаÑиÑнее:
button {
font-family: "helvetica neue", helvetica, sans-serif;
letter-spacing: 1px;
text-transform: uppercase;
border: 2px solid rgb(200 200 0 / 0.6);
background-color: rgb(0 217 217 / 0.6);
color: rgb(100 0 0 / 1);
box-shadow: 1px 1px 2px rgb(0 0 200 / 0.4);
border-radius: 10px;
padding: 3px 10px;
cursor: pointer;
}
Ð Ð½Ð°ÐºÐ¾Ð½ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ð¼ немного JavaScript Ð´Ð»Ñ ÑеализаÑии динамиÑеÑкого поведениÑ:
const button = document.querySelector("button");
button.addEventListener("click", updateName);
function updateName() {
const name = prompt("Enter a new name");
button.textContent = `Player 1: ${name}`;
}
ÐопÑобÑйÑе кликнÑÑÑ Ð¿Ð¾ ÑекÑÑÑ ÑÑÐ¾Ð±Ñ ÑвидеÑÑ, ÑÑо пÑоизойдÑÑ (ÐÑ Ñак же можеÑе найÑи ÑÑо демо на GitHub â ÑмоÑÑиÑе иÑÑ Ð¾Ð´Ð½Ñй код, или запÑÑÑиÑе вживÑÑ)!
JavaScript Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ болÑÑе â давайÑе вÑÑÑним ÑÑо более деÑалÑно.
Так ÑÑо же он дейÑÑвиÑелÑно Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ?ЯдÑо ÑзÑка JavaScript ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· некоÑоÑого колиÑеÑÑва обÑÑнÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей, коÑоÑÑе позволÑÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑледÑÑÑее:
name
.name
Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÑекÑÑа, напÑимеÑ: "Player 1: Chris".click
ÑобÑÑие, Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа, когда кнопка бÑла кликнÑÑа, в ÑооÑвеÑÑÑвии Ñ ÑÑим запÑÑкалÑÑ ÐºÐ¾Ð´, коÑоÑÑй обновлÑл ÑекÑÑ.ÐÑÑ Ð±Ð¾Ð»ÐµÐµ ÑвлекаÑелÑнÑм ÑвлÑеÑÑÑ ÑÑнкÑионалÑноÑÑÑ, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð²ÐµÑÑ Ð¾Ñновного ÑзÑка JavaScript. Так назÑваемÑе инÑеÑÑейÑÑ Ð¿Ñикладного пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (API) пÑедоÑÑавлÑÑÑ Ð²Ð°Ð¼ дополниÑелÑнÑе ÑвеÑÑ ÑпоÑобноÑÑи Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ваÑем коде JavaScript.
API - ÑÑо гоÑовÑе набоÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² кода, коÑоÑÑе позволÑÑÑ ÑазÑабоÑÑÐ¸ÐºÑ ÑеализовÑваÑÑ Ð¿ÑогÑаммÑ, коÑоÑÑе в пÑоÑивном ÑлÑÑае бÑло Ð±Ñ ÑÑÑдно или невозможно ÑеализоваÑÑ. Ðни делаÑÑ Ñо же Ñамое Ð´Ð»Ñ Ð¿ÑогÑаммиÑованиÑ, ÑÑо гоÑовÑе комплекÑÑ Ð¼ÐµÐ±ÐµÐ»Ð¸ делаÑÑ Ð´Ð»Ñ Ð´Ð¾Ð¼Ð°Ñнего ÑÑÑоиÑелÑÑÑва - гоÑаздо пÑоÑе бÑаÑÑ Ð³Ð¾ÑовÑе панели и ÑкÑÑÑиваÑÑ Ð¸Ñ Ð²Ð¼ÐµÑÑе, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÐºÐ½Ð¸Ð¶Ð½ÑÑ Ð¿Ð¾Ð»ÐºÑ, Ñем ÑÐ°Ð¼Ð¾Ð¼Ñ ÑазÑабаÑÑваÑÑ Ð´Ð¸Ð·Ð°Ð¹Ð½, Ñ Ð¾Ð´Ð¸ÑÑ Ð² поиÑÐºÐ°Ñ Ð¿ÑавилÑной дÑевеÑинÑ, вÑÑезаÑÑ Ð²Ñе панели Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ð³Ð¾ ÑазмеÑа и ÑоÑмÑ, найÑи Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑие винÑÑ, а заÑем ÑобÑаÑÑ Ð¸Ñ Ð²Ð¼ÐµÑÑе, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÐºÐ½Ð¸Ð¶Ð½ÑÑ Ð¿Ð¾Ð»ÐºÑ.
Ðни обÑÑно делÑÑÑÑ Ð½Ð° две каÑегоÑии.
API-инÑеÑÑейÑÑ Ð±ÑаÑзеÑа вÑÑÑÐ¾ÐµÐ½Ñ Ð² Ð²Ð°Ñ Ð²ÐµÐ±-бÑаÑÐ·ÐµÑ Ð¸ могÑÑ Ð¾ÑобÑажаÑÑ Ð´Ð°Ð½Ð½Ñе из окÑÑжаÑÑего компÑÑÑеÑного окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ делаÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñе ÑложнÑе веÑи. ÐапÑимеÑ:
HTMLMediaElement
и WebRTC, позволÑÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑно инÑеÑеÑнÑе веÑи Ñ Ð¼ÑлÑÑимедиа, Ñакие как пÑоигÑÑвание аÑдио и видео пÑÑмо на веб-ÑÑÑаниÑе, или заÑ
ваÑÑваÑÑ Ð²Ð¸Ð´ÐµÐ¾ Ñ Ð²ÐµÐ±-камеÑÑ Ð¸ оÑобÑажаÑÑ ÐµÐ³Ð¾ на ЧÑжой компÑÑÑÐµÑ (попÑобÑйÑе Ð½Ð°Ñ Ð¿ÑоÑÑой демонÑÑÑаÑионнÑй Ñнимок, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ Ð¸Ð´ÐµÑ)ÐÑимеÑание: ÐолÑÑинÑÑво наÑÐ¸Ñ Ð´ÐµÐ¼Ð¾ не бÑдÑÑ ÐºÐ¾ÑÑекÑно ÑабоÑаÑÑ Ð² ÑÑаÑÑÑ Ð±ÑаÑзеÑÐ°Ñ â поÑÑÐ¾Ð¼Ñ Ð±ÑÐ´ÐµÑ Ñ Ð¾ÑоÑей идеей, Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка ваÑего кода ÑÑÑановиÑÑ Ð¾Ð´Ð¸Ð½ из ÑовÑеменнÑÑ Ð±ÑаÑзеÑов , ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Firefox, Chrome, Edge или Opera . Также понадобиÑÑÑ Ð±Ð¾Ð»ÐµÐµ подÑобно ÑаÑÑмоÑÑеÑÑ Ñаздел по кÑоÑÑбÑаÑзеÑÐ½Ð¾Ð¼Ñ ÑеÑÑиÑованиÑ, когда Ð²Ñ Ð¿ÑиблизиÑеÑÑ Ðº ÑазÑабоÑке пÑоизводÑÑвенного кода (Ñ.е ÑеалÑного кода, коÑоÑÑй бÑдÑÑ Ð¸ÑполÑзоваÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ).
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑоÑонние API-инÑеÑÑейÑÑ Ð½Ðµ вÑÑÑÐ¾ÐµÐ½Ñ Ð² бÑаÑзеÑ, и вам пÑидÑÑÑÑ Ð·Ð°Ñ Ð²Ð°ÑÑваÑÑ Ð¸Ñ ÐºÐ¾Ð´ и инÑоÑмаÑÐ¸Ñ Ð¸Ð· какого-либо меÑÑа в СеÑи. ÐÐ»Ñ Ð¿ÑимеÑа:
ÐÑимеÑание: ÐÑи API ÑвлÑÑÑÑÑ Ð¿ÑодвинÑÑÑми, и Ð¼Ñ Ð½Ðµ бÑдем Ð¸Ñ ÑаÑÑмаÑÑиваÑÑ Ð² наÑем кÑÑÑе, но ÑÑÑлки, даннÑе вÑÑе, пÑедлагаÑÑ Ð¿Ð¾Ð»Ð½ÑÑ Ð´Ð¾ÐºÑменÑаÑиÑ, еÑли Ð²Ñ Ð·Ð°Ð¸Ð½ÑеÑеÑÐ¾Ð²Ð°Ð½Ñ Ð² более подÑобной инÑоÑмаÑии.
ÐоÑÑÑпно еÑÑ Ð±Ð¾Ð»ÑÑе! Ðо пока не заоÑÑÑÑйÑе на ÑÑом внимание. ÐÑ Ð½Ðµ ÑможеÑе ÑоздаÑÑ ÑледÑÑÑий Facebook, Google Maps или Instagram поÑле 24 ÑаÑов изÑÑÐµÐ½Ð¸Ñ JavaScript â ÑнаÑала нÑжно изÑÑиÑÑ Ð¾ÑновÑ. Рименно Ð´Ð»Ñ ÑÑого Ð²Ñ Ð·Ð´ÐµÑÑ â давайÑе двигаÑÑÑÑ Ð´Ð°Ð»ÑÑе!
ЧÑо JavaScript Ð´ÐµÐ»Ð°ÐµÑ Ð½Ð° ваÑей ÑÑÑаниÑе?Ð ÑÑой главе Ð¼Ñ ÑаÑÑмоÑÑим код и Ñвидим ÑÑо же дейÑÑвиÑелÑно пÑоиÑÑ Ð¾Ð´Ð¸Ñ, когда на ÑÑÑаниÑе запÑÑкаеÑÑÑ JavaScript.
ÐавайÑе ÑоÑÑавим кÑаÑкий бÑиÑ, ÑÑо же пÑоиÑÑ Ð¾Ð´Ð¸Ñ ÐºÐ¾Ð³Ð´Ð° Ð¼Ñ Ð·Ð°Ð³ÑÑжаем ÑÑÑаниÑÐºÑ Ð² бÑаÑзеÑе (пеÑвое Ñпоминание в ÑÑаÑÑе Ðак ÑабоÑÐ°ÐµÑ CSS). Ðогда Ð²Ñ Ð·Ð°Ð³ÑÑжаеÑе ÑÑÑаниÑÐºÑ Ð² бÑаÑзеÑе, Ð²Ñ Ð·Ð°Ð¿ÑÑкаеÑе Ð²Ð°Ñ ÐºÐ¾Ð´ (HTML, CSS и JavaScript) внÑÑÑи иÑполнÑемой ÑÑÐµÐ´Ñ (внÑÑÑи вкладки бÑаÑзеÑа). ÐÑо как бÑдÑо ÑабÑика беÑÑÑ ÑÑÑÑÑ (некий код) и вÑдаÑÑ Ð¿ÑодÑкÑÐ¸Ñ (веб-ÑÑÑаниÑкÑ).
Ðод JavaScript вÑполнÑеÑÑÑ JavaScript-движком бÑаÑзеÑа, поÑле Ñого как код HTML и CSS бÑл обÑабоÑан и ÑÑоÑмиÑован в веб-ÑÑÑаниÑÑ. ÐÑо гаÑанÑиÑÑеÑ, ÑÑо ÑÑÑÑкÑÑÑа и ÑÑÐ¸Ð»Ñ ÑÑÑаниÑÑ Ñже ÑÑоÑмиÑÐ¾Ð²Ð°Ð½Ñ Ðº моменÑÑ Ð·Ð°Ð¿ÑÑка JavaScript.
ÐÑо Ñ Ð¾ÑоÑо, Ñак как ÑаÑÑо иÑполÑзование JavaScript заклÑÑаеÑÑÑ Ð² динамиÑеÑком изменении HTML и CSS в ÑелÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого инÑеÑÑейÑа поÑÑедÑÑвом Document Object Model API (как ÑпоминалоÑÑ Ð²ÑÑе). ÐÑли Ð±Ñ Ð·Ð°Ð¿ÑÑк JavaScript оÑÑÑеÑÑвлÑлÑÑ Ð¿Ñежде загÑÑзки HTML и CSS, Ñо ÑÑо пÑивело Ð±Ñ Ðº Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾Ñибок.
ÐезопаÑноÑÑÑ Ð±ÑаÑзеÑаÐÐ°Ð¶Ð´Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° бÑаÑзеÑа пÑедÑÑавлÑÐµÑ Ñобой оÑделÑнÑÑ ÐºÐ¾ÑÐ¾Ð±ÐºÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка кода (в ÑÐµÑ Ð½Ð¸ÑеÑком ÑзÑке, ÑÑи коÑобки назÑваÑÑÑÑ "ÑÑедами иÑполнениÑ") â ÑÑо знаÑиÑ, ÑÑо в болÑÑинÑÑве ÑлÑÑаев код на каждой вкладке запÑÑкаеÑÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¾ÑделÑно, а код одной вкладки не Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð¿ÑÑмÑÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° код дÑÑгой вкладки или на дÑÑгом веб-ÑайÑе. ÐÑо Ñ Ð¾ÑоÑÐ°Ñ Ð¼ÐµÑа безопаÑноÑÑи â еÑли Ð±Ñ ÑÑо бÑло инаÑе, пиÑаÑÑ Ð¼Ð¾Ð³Ð»Ð¸ напиÑаÑÑ ÐºÐ¾Ð´, коÑоÑÑй кÑал инÑоÑмаÑÐ¸Ñ Ñ Ð´ÑÑÐ³Ð¸Ñ ÑайÑов или делал дÑÑгие Ð¿Ð»Ð¾Ñ Ð¸Ðµ веÑи.
ÐÑимеÑание: ÐÑÑÑ ÑпоÑÐ¾Ð±Ñ Ð¾ÑпÑавлÑÑÑ ÐºÐ¾Ð´ и даннÑе Ð¼ÐµÐ¶Ð´Ñ ÑазнÑми веб-ÑайÑами/вкладками безопаÑнÑм ÑпоÑобом, но ÑÑо пÑодвинÑÑÑе меÑодÑ, коÑоÑÑе Ð¼Ñ Ð½Ðµ бÑдем ÑаÑÑмаÑÑиваÑÑ Ð² ÑÐ°Ð¼ÐºÐ°Ñ ÑÑого кÑÑÑа.
ÐоÑледоваÑелÑноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ JavaScriptÐбÑÑно, когда бÑаÑÐ·ÐµÑ ÑÑалкиваеÑÑÑ Ñ Ð±Ð»Ð¾ÐºÐ¾Ð¼ JavaScript, он запÑÑÐºÐ°ÐµÑ ÐµÐ³Ð¾ по поÑÑдкÑ, ÑвеÑÑ Ñ Ð²Ð½Ð¸Ð·. ÐÑо знаÑиÑ, ÑÑо вам нÑжно оÑÑоÑожно вÑбиÑаÑÑ Ð¿Ð¾ÑÑдок. ÐапÑимеÑ, веÑнÑмÑÑ Ðº Ð±Ð»Ð¾ÐºÑ JavaScript, коÑоÑÑй Ð¼Ñ Ð²Ð¸Ð´ÐµÐ»Ð¸ в пеÑвом пÑимеÑе:
const para = document.querySelector('p'); para.addEventListener('click', updateName); function updateName() { let name = prompt('Enter a new name'); para.textContent = 'Player 1: ' + name; }
ÐдеÑÑ Ð¼Ñ Ð²ÑбиÑаем Ð°Ð±Ð·Ð°Ñ ÑекÑÑа (ÑÑÑока 1), а заÑем добавлÑем к Ð½ÐµÐ¼Ñ Ð¾Ð±Ð½Ð°ÑÑжение ÑобÑÑий (ÑÑÑока 3), ÑÑÐ¾Ð±Ñ Ð¿Ñи нажаÑии на ÑÑÐ¾Ñ Ð°Ð±Ð·Ð°Ñ Ð²ÑполнÑлÑÑ Ð±Ð»Ð¾Ðº кода updateName()
(ÑÑÑоки 5â8). Ðлок кода updateName()
(ÑÑи ÑÐ¸Ð¿Ñ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑно иÑполÑзÑемÑÑ
блоков кода назÑваÑÑÑÑ "ÑÑнкÑии") запÑаÑÐ¸Ð²Ð°ÐµÑ Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ð¾Ð²Ð¾Ðµ имÑ, а заÑем вÑÑавлÑÐµÑ ÑÑо Ð¸Ð¼Ñ Ð² Ð°Ð±Ð·Ð°Ñ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑобÑажениÑ.
ÐÑли Ð²Ñ Ð¿Ð¾Ð¼ÐµÐ½ÑеÑе поÑÑдок пеÑвÑÑ
двÑÑ
ÑÑÑок кода, он пеÑеÑÑÐ°Ð½ÐµÑ ÑабоÑаÑÑ â вмеÑÑо ÑÑого Ð²Ñ Ð¿Ð¾Ð»ÑÑиÑе оÑÐ¸Ð±ÐºÑ Ð²Ð¾Ð·Ð²ÑаÑаемÑÑ Ð² конÑÐ¾Ð»Ñ Ð±ÑаÑзеÑа â TypeError: para is undefined
. ÐÑо знаÑиÑ, ÑÑо обÑÐµÐºÑ para
еÑÑ Ð½Ðµ ÑÑÑеÑÑвÑÐµÑ Ð¸ Ð²Ñ Ð½Ðµ можеÑе добавиÑÑ Ðº Ð½ÐµÐ¼Ñ Ð¾Ð±Ð½Ð°ÑÑжение ÑобÑÑий.
ÐÑимеÑание: ÐÑо оÑÐµÐ½Ñ ÑаÑÑÐ°Ñ Ð¾Ñибка â Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾ÑÑоÑожнÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑекÑÑ, на коÑоÑÑе ÑÑÑлаеÑÑÑ Ð²Ð°Ñ ÐºÐ¾Ð´, ÑÑÑеÑÑвовали до Ñого, как Ð²Ñ Ð¿Ð¾Ð¿ÑÑаеÑеÑÑ ÑÑо-Ñо Ñ Ð½Ð¸Ð¼Ð¸ ÑделаÑÑ.
ÐнÑеÑпÑеÑиÑÑемÑй пÑоÑив компилиÑÑемого кодаРконÑекÑÑе пÑогÑаммиÑованиÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑÑлÑÑаÑÑ ÑеÑÐ¼Ð¸Ð½Ñ Ð¸Ð½ÑеÑпÑеÑаÑÐ¸Ñ Ð¸ компилÑÑиÑ. JavaScript ÑвлÑеÑÑÑ Ð¸Ð½ÑеÑпÑеÑиÑÑемÑм ÑзÑком â код запÑÑкаеÑÑÑ ÑвеÑÑ Ñ Ð²Ð½Ð¸Ð· и ÑезÑлÑÑÐ°Ñ Ð·Ð°Ð¿ÑÑка немедленно возвÑаÑаеÑÑÑ. Ðам не нÑжно пÑеобÑазовÑваÑÑ ÐºÐ¾Ð´ в дÑÑгÑÑ ÑоÑмÑ, пеÑед запÑÑком в бÑаÑзеÑе.
С дÑÑгой ÑÑоÑонÑ, компилиÑÑемÑе ÑзÑки пÑеобÑазÑÑÑÑÑ (компилиÑÑÑÑÑÑ) в дÑÑгÑÑ ÑоÑмÑ, пÑежде Ñем они бÑдÑÑ Ð·Ð°Ð¿ÑÑÐµÐ½Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑом. ÐапÑимеÑ, C / C ++ компилиÑÑÑÑÑÑ Ð² ÑзÑк аÑÑемблеÑа, коÑоÑÑй заÑем запÑÑкаеÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑом.
Ðба Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð° имеÑÑ ÑазнÑе пÑеимÑÑеÑÑва, коÑоÑÑе на данном ÑÑапе Ð¼Ñ Ð¾Ð±ÑÑждаÑÑ Ð½Ðµ бÑдем.
СеÑвеÑнÑй пÑоÑив клиенÑÑкого кодаÐÑ Ñак же можеÑе ÑÑлÑÑаÑÑ ÑеÑÐ¼Ð¸Ð½Ñ ÑеÑвеÑнÑй и клиенÑÑкий код, оÑобенно в конÑекÑÑе веб-ÑазÑабоÑки. ÐлиенÑÑкий код â ÑÑо код, коÑоÑÑй запÑÑкаеÑÑÑ Ð½Ð° компÑÑÑеÑе полÑзоваÑелÑ. ÐÑи пÑоÑмоÑÑе веб-ÑÑÑаниÑÑ, клиенÑÑкий код загÑÑжаеÑÑÑ, а заÑем запÑÑкаеÑÑÑ Ð¸ оÑобÑажаеÑÑÑ Ð±ÑаÑзеÑом. Ð ÑÑом модÑле JavaScript Ð¼Ñ Ñвно говоÑим о клиенÑÑком JavaScript.
С дÑÑгой ÑÑоÑонÑ, ÑеÑвеÑнÑй код запÑÑкаеÑÑÑ Ð½Ð° ÑеÑвеÑе, заÑем его ÑезÑлÑÑаÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð¸ оÑобÑажаÑÑÑÑ Ð² бÑаÑзеÑе. ÐÑимеÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ ÑеÑвеÑнÑÑ Ð²ÐµÐ±-ÑзÑков вклÑÑаÑÑ PHP, Python, Ruby и ASP.NET. Ð JavaScript! JavaScript Ñак же Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ, как ÑеÑвеÑнÑй ÑзÑк, напÑÐ¸Ð¼ÐµÑ Ð² попÑлÑÑной ÑÑеде Node.js â Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе болÑÑе ÑзнаÑÑ Ð¾ ÑеÑвеÑном JavaScript в наÑем Ñазделе Dynamic Websites â Server-side programming.
Слово динамиÑеÑкий иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¸ клиенÑÑкого JavaScript, и ÑеÑвеÑного ÑзÑка â ÑÑо оÑноÑиÑÑÑ Ðº возможноÑÑи Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÐµÐ±-ÑÑÑаниÑÑ/пÑиложениÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ ÑазнÑе веÑи в ÑазнÑÑ Ð¾Ð±ÑÑоÑÑелÑÑÑÐ²Ð°Ñ , генеÑиÑÑÑ Ð½Ð¾Ð²Ñй конÑÐµÐ½Ñ Ð¿Ð¾ меÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи. СеÑвеÑнÑй код динамиÑеÑки генеÑиÑÑÐµÑ Ð½Ð¾Ð²Ñй конÑÐµÐ½Ñ Ð½Ð° ÑеÑвеÑе, напÑÐ¸Ð¼ÐµÑ Ð´Ð¾ÑÑаÑÑ Ð´Ð°Ð½Ð½Ñе из Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñогда как клиенÑÑкий JavaScript динамиÑеÑки генеÑиÑÑÐµÑ Ð½Ð¾Ð²Ð¾Ðµ ÑодеÑжание внÑÑÑи бÑаÑзеÑа на клиенÑе, напÑÐ¸Ð¼ÐµÑ ÑоздаÑÑ Ð½Ð¾Ð²ÑÑ HTML ÑаблиÑÑ, вÑÑавлÑÑ Ð² Ð½ÐµÑ Ð´Ð°Ð½Ð½Ñе полÑÑеннÑе Ñ ÑеÑвеÑа, заÑем оÑобÑÐ°Ð¶Ð°ÐµÑ ÑаблиÑÑ Ð½Ð° веб-ÑÑÑаниÑе, коÑоÑÑÑ Ð²Ð¸Ð´Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. Ð ÑÑÐ¸Ñ Ð´Ð²ÑÑ ÐºÐ¾Ð½ÑекÑÑÐ°Ñ Ð·Ð½Ð°Ñение немного оÑлиÑаеÑÑÑ, но ÑвÑзано, и обÑÑно оба Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð° (ÑеÑвеÑнÑй и клиенÑÑкий) ÑабоÑаÑÑ Ð²Ð¼ÐµÑÑе.
Ðеб-ÑÑÑаниÑа без динамиÑеÑкого Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑенÑа назÑваеÑÑÑ ÑÑаÑиÑеÑкой â она пÑоÑÑо показÑÐ²Ð°ÐµÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ конÑÐµÐ½Ñ Ð²Ñе вÑемÑ.
Ðак добавиÑÑ JavaScript на ваÑÑ ÑÑÑаниÑÑ?JavaScript пÑименÑеÑÑÑ Ðº ваÑей HTML ÑÑÑаниÑе ÑоÑно Ñак же, как CSS. РеÑли CSS иÑполÑзÑÐµÑ ÑлеменÑÑ <link>
Ð´Ð»Ñ Ð²Ð½ÐµÑниÑ
ÑÑилей и <style>
Ð´Ð»Ñ Ð²ÑÑÑоеннÑÑ
в HTML, Ñо Ð´Ð»Ñ JavaScript нÑжен ÑолÑко один дÑÑг в HTML миÑе â ÑÐ»ÐµÐ¼ÐµÐ½Ñ <script>
. ÐавайÑе Ñзнаем, как ÑÑо ÑабоÑаеÑ.
СнаÑала, ÑделайÑе локалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð°Ñего Ñайла-пÑимеÑа apply-javascript.html. Ð¡Ð¾Ñ ÑаниÑе его в Ñдобное Ð´Ð»Ñ Ð²Ð°Ñ Ð¼ÐµÑÑо.
ÐÑкÑойÑе ÑÑÐ¾Ñ Ñайл в ваÑем бÑаÑзеÑе и в ваÑем ÑекÑÑовом ÑедакÑоÑе. ÐÑ ÑвидиÑе, ÑÑо HTML ÑоздаÑÑ Ð¿ÑоÑÑÑÑ Ð²ÐµÐ±-ÑÑÑаниÑÑ Ñ Ð°ÐºÑивной кнопкой.
ÐаÑем, пеÑейдиÑе в ÑекÑÑовÑй ÑедакÑÐ¾Ñ Ð¸ добавÑÑе ÑледÑÑÑие ÑÑÑоки пеÑед закÑÑваÑÑим Ñегом </head>
:
<script>
// здеÑÑ Ð±ÑÐ´ÐµÑ JavaScript
</script>
ТепеÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ð¼ JavaScript внÑÑÑÑ ÑлеменÑа <script>
, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÑÑÑаниÑÑ Ð±Ð¾Ð»ÐµÐµ инÑеÑеÑной â добавÑÑе ÑледÑÑÑий код ниже ÑÑÑоки "// здеÑÑ Ð±ÑÐ´ÐµÑ JavaScript":
document.addEventListener("DOMContentLoaded", function () {
function createParagraph() {
let para = document.createElement("p");
para.textContent = "You clicked the button!";
document.body.appendChild(para);
}
const buttons = document.querySelectorAll("button");
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", createParagraph);
}
});
Ð¡Ð¾Ñ ÑаниÑе Ñайл и обновиÑе ÑÑÑаниÑÑ Ð² бÑаÑзеÑе â ÑепеÑÑ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ, ÑÑо пÑи нажаÑии на ÐºÐ½Ð¾Ð¿ÐºÑ ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ñй Ð°Ð±Ð·Ð°Ñ Ð¸ помеÑаеÑÑÑ Ð½Ð¸Ð¶Ðµ.
ÐÑимеÑание: ÐÑли Ð²Ð°Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð½Ðµ ÑабоÑаеÑ, пÑойдиÑе еÑÑ Ñаз вÑе Ñаги и пÑовеÑÑÑе, Ñделали ли Ð²Ñ Ð²Ñе пÑавилÑно. СоÑ
Ñанили ли Ð²Ñ Ð²Ð°ÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð°ÑалÑного кода, как .html
Ñайл? Ðобавили ли Ð²Ð°Ñ <script>
ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿Ð¾Ñле ÑÑга </body>
? Ðвели ли Ð²Ñ JavaScript именно Ñак, как показано? JavaScript ÑегиÑÑÑозавиÑимÑй, и оÑÐµÐ½Ñ Ð¿ÑивеÑедливÑй. ÐоÑÑÐ¾Ð¼Ñ Ð²Ð°Ð¼ нÑжно вводиÑÑ ÑинÑакÑÐ¸Ñ Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ñак, как показано, в пÑоÑивном ÑлÑÑае оно Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑабоÑаÑÑ.
ÐÑимеÑание: ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ ÑÑÑ Ð²ÐµÑÑÐ¸Ñ Ð½Ð° GitHub-е как apply-javascript-internal.html (поÑмоÑÑеÑÑ Ð²Ð¶Ð¸Ð²ÑÑ).
ÐнеÑний JavaScriptÐÑо оÑлиÑно ÑабоÑаеÑ, но ÑÑо еÑли Ð¼Ñ Ñ Ð¾Ñим помеÑÑиÑÑ Ð½Ð°Ñ JavaScript в оÑделÑнÑй Ñайл? ÐавайÑе ÑейÑÐ°Ñ ÑазбеÑÑмÑÑ Ñ ÑÑим.
СнаÑала, ÑоздайÑе новÑй Ñайл в Ñой же папке, ÑÑо и Ð²Ð°Ñ Ñайл-пÑÐ¸Ð¼ÐµÑ HTML. ÐазовиÑе его script.js
â ÑбедиÑеÑÑ, ÑÑо Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñайла ÑаÑÑиÑение .js, Ñак как оно ÑаÑпознаеÑÑÑ, как JavaScript.
ÐамениÑе Ð²Ð°Ñ ÑекÑÑий ÑÐ»ÐµÐ¼ÐµÐ½Ñ <script>
на ÑледÑÑÑий:
<script src="script.js" defer></script>
ÐнÑÑÑи script.js
добавÑÑе ÑледÑÑÑий ÑкÑипÑ:
function createParagraph() {
let para = document.createElement("p");
para.textContent = "You clicked the button!";
document.body.appendChild(para);
}
const buttons = document.querySelectorAll("button");
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", createParagraph);
}
Ð¡Ð¾Ñ ÑаниÑе и обновиÑе ÑÑÑаниÑÑ Ð² бÑаÑзеÑе, и Ð²Ñ ÑвидиÑе Ñо же Ñамое! ÐÑе ÑабоÑÐ°ÐµÑ ÑоÑно Ñак же, но ÑепеÑÑ Ñ Ð½Ð°Ñ ÐµÑÑÑ JavaScript во внеÑнем Ñайле. ÐÑо, как пÑавило, Ñ Ð¾ÑоÑо Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ Ð¾ÑганизаÑии кода и его повÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² неÑколÑÐºÐ¸Ñ HTML ÑÐ°Ð¹Ð»Ð°Ñ . ÐÑоме Ñого, HTML легÑе ÑиÑаÑÑ Ð±ÐµÐ· огÑомнÑÑ ÐºÑÑков кода, коÑоÑÑй ÑкапливаеÑÑÑ Ð² нем.
ÐÑимеÑание: ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ ÑÑÑ Ð²ÐµÑÑÐ¸Ñ Ð½Ð° GitHub-е как apply-javascript-external.html и script.js (поÑмоÑÑеÑÑ Ð²Ð¶Ð¸Ð²ÑÑ).
ÐнлайновÑе JavaScript обÑабоÑÑикиÐбÑаÑиÑе внимание, ÑÑо иногда можно ÑÑолкнÑÑÑÑÑ Ñ ÑаÑÑÑми JavaScript-кода, коÑоÑÑй живÑÑ Ð²Ð½ÑÑÑи HTML. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð²ÑглÑдеÑÑ Ð¿ÑимеÑно Ñак:
function createParagraph() {
var para = document.createElement("p");
para.textContent = "You clicked the button!";
document.body.appendChild(para);
}
<button onclick="createParagraph()">Click me!</button>
ÐÑ Ð¼Ð¾Ð¶ÐµÑе попÑобоваÑÑ ÑÑÑ Ð²ÐµÑÑÐ¸Ñ Ð² наÑей демонÑÑÑаÑии ниже:
ÐÑа демонÑÑÑаÑÐ¸Ñ Ð¸Ð¼ÐµÐµÑ Ñе же ÑÑнкÑионалÑнÑе возможноÑÑи, ÑÑо и в пÑедÑдÑÑиÑ
двÑÑ
ÑазделаÑ
, за иÑклÑÑением Ñого, ÑÑо ÑÐ»ÐµÐ¼ÐµÐ½Ñ <button>
ÑодеÑÐ¶Ð¸Ñ Ð²ÑÑÑоеннÑй обÑабоÑÑик onclick
, коÑоÑÑй запÑÑÐºÐ°ÐµÑ ÑÑнкÑÐ¸Ñ Ð¿Ñи нажаÑии кнопки.
Ðо пожалÑйÑÑа, не делайÑе ÑÑого. ÐÑо плоÑ
Ð°Ñ Ð¿ÑакÑика â загÑÑзнÑÑÑ Ð²Ð°Ñ HTML кодом JavaScript, и она не ÑÑÑекÑивна â вам нÑжно бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð°ÑÑибÑÑ onclick="createParagraph()"
к каждой кнопке, к коÑоÑой Ð²Ñ Ñ
оÑиÑе подклÑÑиÑÑ JavaScript.
ÐÑполÑзование ÑиÑÑой JavaScript конÑÑÑÑкÑии, Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð²Ð°Ð¼ вÑбÑаÑÑ Ð²Ñе кнопки, иÑполÑзÑÑ Ð¾Ð´Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ. Ðод, коÑоÑÑй можно иÑполÑзовали Ð´Ð»Ñ ÑÑой Ñели, вÑглÑÐ´Ð¸Ñ ÑледÑÑÑим обÑазом:
const buttons = document.querySelectorAll("button");
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", createParagraph);
}
ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð²ÑглÑдеÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ длиннее, Ñем аÑÑибÑÑ onclick
, но ÑÑо бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð´Ð»Ñ Ð²ÑеÑ
кнопок, незавиÑимо Ð¾Ñ Ñого, ÑколÑко иÑ
на ÑÑÑаниÑе, и ÑколÑко иÑ
ÑдалÑÑ Ð¸Ð»Ð¸ добавÑÑ. JavaScript менÑÑÑ Ð½Ðµ нÑжно.
ÐÑимеÑание: ÐопÑобÑйÑе оÑÑедакÑиÑоваÑÑ Ð²Ð°ÑÑ Ð²ÐµÑÑÐ¸Ñ apply-javascript.html
и добавиÑÑ ÐµÑÑ Ð½ÐµÑколÑко кнопок в Ñайл. ÐоÑле пеÑезагÑÑзки Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвидеÑÑ, ÑÑо вÑе кнопки ÑоздаÑÑ Ð¿Ð°ÑагÑаÑ, еÑли кликнÑÑÑ Ð½Ð° ниÑ
. ÐлаÑÑно, да?
СÑÑеÑÑвÑÐµÑ ÑÑд пÑоблем, ÑвÑзаннÑÑ Ñ Ð·Ð°Ð³ÑÑзкой ÑкÑипÑов в нÑжное вÑемÑ. ÐÑÑ Ð½Ðµ Ñак пÑоÑÑо, как кажеÑÑÑ! РаÑпÑоÑÑÑанÑнной пÑоблемой ÑвлÑеÑÑÑ Ñо, ÑÑо веÑÑ HTML-код на ÑÑÑаниÑе загÑÑжаеÑÑÑ Ð² Ñом поÑÑдке, в коÑоÑом оÑобÑажаеÑÑÑ. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе JavaScript Ð´Ð»Ñ Ð¼Ð°Ð½Ð¸Ð¿ÑлÑÑии ÑлеменÑами на ÑÑÑаниÑе (или, ÑоÑнее, в DOM â ÐбÑекÑной Ðодели ÐокÑменÑа), Ð²Ð°Ñ ÐºÐ¾Ð´ не бÑÐ´ÐµÑ ÑабоÑаÑÑ, еÑли JavaScript-код загÑÑзиÑÑÑ Ð¸ ÑаÑпознаеÑÑÑ ÑанÑÑе HTML-кода, Ñ ÐºÐ¾ÑоÑÑм Ð²Ñ Ð¿ÑÑаеÑеÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ.
ÐомменÑаÑииТак же, как и в HTML и CSS, возможно пиÑаÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑии в ваÑем JavaScript-коде, ÑÑо бÑÐ´ÐµÑ Ð¿ÑоигноÑиÑовано бÑаÑзеÑом, и ÑÑÑеÑÑвÑÐµÑ ÑолÑко Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð´Ð°Ð²Ð°ÑÑ Ð¿Ð¾Ð´Ñказки ваÑим дÑÑзÑÑм-ÑазÑабоÑÑикам о Ñом, как ÑабоÑÐ°ÐµÑ ÐºÐ¾Ð´ (и лиÑно вам, еÑли Ð²Ñ Ð²ÐµÑнÑÑеÑÑ Ðº ÐºÐ¾Ð´Ñ ÑпÑÑÑÑ 6 меÑÑÑев и не ÑможеÑе вÑпомниÑÑ, ÑÑо Ð²Ñ Ð´ÐµÐ»Ð°Ð»Ð¸). ÐомменÑаÑии оÑÐµÐ½Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ, и Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑаÑÑо Ð¸Ñ Ð¸ÑполÑзоваÑÑ, оÑобенно Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑÐ¸Ñ Ð¿Ñиложений. ÐÐ¾Ñ Ð´Ð²Ð° Ñипа комменÑаÑиев:
ÐдноÑÑÑоÑнÑй комменÑаÑий пиÑеÑÑÑ Ð¿Ð¾Ñле двойного ÑлеÑа (//), напÑимеÑ:
// Я комменÑаÑий
ÐомменÑаÑий на неÑколÑÐºÐ¸Ñ ÑÑÑÐ¾ÐºÐ°Ñ Ð¿Ð¸ÑеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑоками /* и */, напÑимеÑ:
/*
Я Ñоже
комменÑаÑий
*/
Так, напÑимеÑ, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ опиÑаÑÑ Ð½Ð°Ñ Ð¿Ð¾Ñледний демо-пÑÐ¸Ð¼ÐµÑ JavaScript подобнÑми комменÑаÑиÑми:
// ФÑнкÑиÑ: ÑоздаÑÑ Ð½Ð¾Ð²Ñй паÑагÑÐ°Ñ Ð¸ добавлÑÐµÑ ÐµÐ³Ð¾ вниз Ñела HTML.
function createParagraph() {
var para = document.createElement("p");
para.textContent = "You clicked the button!";
document.body.appendChild(para);
}
/*
1. ÐолÑÑаем ÑÑÑлки на вÑе кнопки на ÑÑÑаниÑе в виде маÑÑива.
2. ÐеÑебиÑаем вÑе кнопки и добавлÑем к ним оÑÑлеживаÑÐµÐ»Ñ ÑобÑÑÐ¸Ñ Ð½Ð°Ð¶Ð°ÑиÑ.
ÐÑи нажаÑии лÑбой кнопки, бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ ÑÑнкÑÐ¸Ñ createParagraph().
*/
var buttons = document.querySelectorAll("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", createParagraph);
}
ÐÑводÑ
ÐоздÑавлÑем, Ð²Ñ Ñделали Ð²Ð°Ñ Ð¿ÐµÑвÑй Ñаг в Ð¼Ð¸Ñ JavaScript. ÐÑ Ð½Ð°Ñали вÑего-лиÑÑ Ñ ÑеоÑии, ÑÑÐ¾Ð±Ñ Ð²Ñ Ð¿ÑивÑкли к ÑомÑ, ÑÑо Ð²Ñ Ð±ÑдеÑе иÑполÑзоваÑÑ JavaScript, и ÑÑо именно Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе делаÑÑ Ñ ÐµÐ³Ð¾ помоÑÑÑ. Ðа ÑÑом пÑÑи Ð²Ñ Ñвидели неÑколÑко пÑимеÑов кода и вÑÑÑили, как JavaScript впиÑÑваеÑÑÑ Ð² оÑÑалÑной код на ваÑем ÑайÑе ÑÑеди вÑего пÑоÑего.
JavaScript Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ пÑгаÑÑим в даннÑм моменÑ, но не пеÑеживайÑе - в ÑÑом кÑÑÑе Ð¼Ñ Ð¿ÑоведÑм Ð²Ð°Ñ ÑÐºÐ²Ð¾Ð·Ñ Ð½ÐµÐ³Ð¾ пÑоÑÑÑми Ñагами, коÑоÑÑе имеÑÑ ÑмÑÑл, Ð·Ð°Ð±ÐµÐ³Ð°Ñ Ð½Ð°Ð¿ÐµÑÑд. Ð ÑледÑÑÑей главе Ð¼Ñ Ð¿Ð¾Ð³ÑÑзимÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно в пÑакÑикÑ, подÑÐ°Ð»ÐºÐ¸Ð²Ð°Ñ Ð²Ð°Ñ Ð¿Ð¾Ð³ÑÑзиÑÑÑÑ Ð² код и ÑделаÑÑ Ð²Ð°Ñи ÑобÑÑвеннÑе пÑимеÑÑ JavaScript.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4