Π§Π°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π² ΠΌΠ°ΡΡΠΈΠ². ΠΠΌΠ΅Π΅ΡΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π»Π΅Π³ΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ: join ΠΈ split. Π€ΡΠ½ΠΊΡΠΈΡ join ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² join. Π€ΡΠ½ΠΊΡΠΈΡ split Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ c ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² split:
var myString = 'apples are good for your health'; var myArray = myString.split('a'); // ΡΡΡΠΎΠΊΠ° myString ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π΅ 'a'. alert(myArray.join(', ')); // ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ myArray ΡΠ½ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΡΡΠΎΠΉ, // ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ alert(myArray.join('a')); // ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ myArray ΡΠ½ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° 'a', // ΡΠ°ΠΊ ΡΡΠΎ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
ΠΡΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ - pop ΠΈ shift. Π€ΡΠ½ΠΊΡΠΈΡ pop ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ. Π€ΡΠ½ΠΊΡΠΈΡ shift ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ.
var students = ['Sam', 'Joe', 'Sue', 'Beth']; while(students.length>0){ alert(students.pop()); }
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ» ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½: ΠΎΠ½ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΡΡ. ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΈ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ (length) ΡΠ°Π²Π½ΠΎΠΉ 0:
students.length = 0
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΡΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°Π΄Π°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π±ΠΎΠ»ΡΡΠ΅ 0, Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½Ρ.
ΠΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ "ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ", ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ "Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ", Π² ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ:
var grades = []; grades['Sam'] = 90; grades['Joe'] = 85; grades['Sue'] = 94; grades['Beth'] = 82;
ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄Π»ΠΈΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° 0. ΠΠ°ΠΊ ΠΆΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅? ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» "for-in ":
for(student in grades){ alert("ΠΡΠ΅Π½ΠΊΠ° " + student + "Π±ΡΠ΄Π΅Ρ: " + grades[student]); }
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»Π° for-in ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ: " for(item in object){ ". Π¦ΠΈΠΊΠ» ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ "Sam", Π·Π°ΡΠ΅ΠΌ " Joe", " Sue" ΠΈ " Beth".
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Ρ ΠΎΡΡ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ.
var students = ['Sam', 'Joe', 'Sue', 'Beth']; students['Sam'] = 90; students['Joe'] = 85; students['Sue'] = 94; students['Beth'] = 82; alert('ΠΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ '+(students.length)+' ΡΡΡΠ΄Π΅Π½ΡΠΎΠ²: '+students.join(', ')); for(var i=0; i<students.length; i++){ alert("ΠΡΠ΅Π½ΠΊΠ° " +students[i]+"Π±ΡΠ΄Π΅Ρ: "+students[students[i]]); }
Π₯ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ, ΠΎ ΡΠ΅ΠΌ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π² ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ JavaScript: ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»Π° ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΈΠ»ΠΈ DOM (Document Object Model).
ΠΠ΅ΠΊΡΠΈΡ 6. ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΡΠ° Π»Π΅ΠΊΡΠΈΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎ DOM (Document Object Model). DOM ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ Π΄Π»Ρ "Π²ΡΠ΅Π³ΠΎ Π½Π° Web-ΡΡΡΠ°Π½ΠΈΡΠ΅". ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΡΠ»ΠΊΡ, ΠΏΠΎΠ»Π΅ ΡΠΎΡΠΌΡ ΠΈ Ρ.Π΄. Π½Π° Web-ΡΡΡΠ°Π½ΠΈΡΠ΅. JavaScript ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π»ΡΠ±ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΡΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ , ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΠΊ ΡΠ²Π΅Ρ, ΡΠΈΡΠΈΠ½Π°, Π²ΡΡΠΎΡΠ°, ΠΈ Ρ.Π΄., Π° ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° HTML ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ΅ΠΌ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ XML. ΠΡΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ XML, ΡΠΎ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ DOM Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ. ΠΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ (http://www.devguru.com/technologies/xml_dom/index.asp), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ DOM, Π½ΠΎ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΠΉΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π’Π΅, ΠΊΡΠΎ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ XML, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π». ΠΡΡΠ°Π»ΡΠ½ΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ.
ΠΡΠ΄Π΅ΠΌ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π½Π°ΠΊΠΎΠΌ Ρ HTML. ΠΡΠΎ ΡΠΎ, ΠΈΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ (ΠΏΠΎΡΡΠΈ) ΠΊΠ°ΠΆΠ΄Π°Ρ Web-ΡΡΡΠ°Π½ΠΈΡΠ°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΡΠ»ΠΊΠ°, ΡΠ°Π±Π»ΠΈΡΠ°, ΠΏΠΎΠ»Π΅ ΡΠΎΡΠΌΡ ΠΈ Ρ.Π΄. ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Π³. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ HTML:
<HTML> <BODY> <table border="0" cellspacing="2" cellpadding="5"> <tr> <td colspan="2"><img src="Greetings.jpg" id="greetingImg" /></td> </tr> <tr> <td> ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π½Π° ΠΌΠΎΡ ΡΡΡΠ°Π½ΠΈΡΡ HTML! <br /> <a href="somelink.html" id="myLink" >Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ!</a> </td> <td><img src="hello.jpg" id="helloImg" /></td> </tr> </table> </BODY> </HTML>
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° HTML. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° XML. ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³Π° TD, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π³ΠΎΠ² TR, TABLE, BODY ΠΈ HTML. ΠΠ²ΠΈΠ³Π°ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ΅Π³ BODY ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ "ΠΏΠΎΡΠΎΠΌΠΊΠ°" - ΡΠ΅Π³ TABLE. ΠΡΠΎΡ ΡΠ΅Π³ TABLE ΠΈΠΌΠ΅Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² Π΄Π²Π° ΡΠ΅Π³Π° TR ΠΈ Ρ.Π΄. ΠΠΎ ΡΡΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ XML ΠΈΠ»ΠΈ HTML DOM - Π΄Π²ΠΈΠ³Π°ΡΡΡ ΠΎΡ ΠΏΠΎΡΠΎΠΌΠΊΠ° ΠΊ ΠΏΡΠ΅Π΄ΠΊΡ ΠΈΠ»ΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΠΊΠ° ΠΊ ΠΏΠΎΡΠΎΠΌΠΊΡ.
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΠΊ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅.
ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΡΡΠΈΡ ΡΠ΅Π³ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ TABLE (<table border="0" cellspacing="2" cellpadding="5">) ΠΈΠΌΠ΅Π΅Ρ 3 Π·Π°Π΄Π°Π½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°: border, cellspacing ΠΈ cellpadding. ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ DOM ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ SRC ΡΠ΅Π³Π° IMG, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (rollover).
Π’Π΅ΠΏΠ΅ΡΡ, ΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΅Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
<img src="button_off.gif" onmouseover="this.src='button_over.gif';" onmousedown="this.src='button_down.gif';" onmouseout ="this.src='button_off.gif';" onmouseup ="this.src='button_over.gif';">
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ 4 ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: onmouseover, onmousedown, onmouseout ΠΈ onmouseup. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡ src ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΠΌΡ ΡΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ JavaScript, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π°ΡΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΡΠ»ΠΊΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ Π°Π΄ΡΠ΅ΡΠ° e-mail ΠΈ Π²ΡΠΎΡΠΎΠ΅ - Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°ΠΌ, ΡΠΎ Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ ΡΠΎΡΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠΌΡ/e-mail. ΠΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ². ΠΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ 5 ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π°ΡΡ ΡΡΡΠ»ΠΊΡ 20 Π»ΡΠ΄ΡΠΌ, ΡΠΎ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ 4 ΡΠ°Π·Π°.
JavaScript ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΄Π΅Π»Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ:
1 var inputs = 0; 2 function addContact(){ 3 var table = document.getElementById('contacts'); 4 5 var tr = document.createElement('TR'); 6 var td1 = document.createElement('TD'); 7 var td2 = document.createElement('TD'); 8 var td3 = document.createElement('TD'); 9 var inp1 = document.createElement('INPUT'); 10 var inp2 = document.createElement('INPUT'); 11 12 if(inputs>0){ 13 var img = document.createElement('IMG'); 14 img.setAttribute('src', 'delete.gif'); 15 img.onclick = function(){ 16 removeContact(tr); 17 } 18 td1.appendChild(img); 19 } 20 21 inp1.setAttribute("Name", "Name" +inputs); 22 inp2.setAttribute("Email", "Email"+inputs); 23 24 table.appendChild(tr); 25 tr.appendChild(td1); 26 tr.appendChild(td2); 27 tr.appendChild(td3); 28 td2.appendChild(inp1); 29 td3.appendChild(inp2); 30 31 inputs++; 32 } 33 function removeContact(tr){ 34 tr.parentNode.removeChild(tr); 35 } 36 <table> 37 <tbody id="contacts"> 38 <tr> 39 <td colspan="3"><a href="javascript:addContact();">ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ</a></td> 40 </tr> 41 <tr> 42 <td></td> 43 <td>Name </td> 44 <td>Email</td> 45 </tr> 46 </tbody> 47 </table>