JavaScript-da Zanjirlashning Afzalliklari va Kamchiliklari

Zanjirlar kodni qisqartirishiga qaramasdan, aksariyat hollarda o'zgaruvchi kiritish ancha qulayroqdir. Ikkita misolni solishtiring - hozirda men elem o'zgaruvchisini kiritdim va istalgancha atributlarni yozishim mumkin, bunda querySelector faqat bir marta chaqiriladi:

javascriptlet elem = document.querySelector('#elem');
elem.value = 'www';
elem.type  = 'submit';

Hozir esa men yangi o'zgaruvchi kiritmayapman va shuning uchun querySelector ni ikki marta chaqirishga majburman:

javascriptdocument.querySelector('#elem').value = 'www';
document.querySelector('#elem').type  = 'submit';

Mening fikrimcha, bu kod murakkablashdi, garchi bitta qatorga kamroq joy egallasa ham. Bundan tashqari, agar men id ning qiymatini 'elem' dan boshqasiga o'zgartirmoqchi bo'lsam, buni ko'p joylarda qilishim kerak bo'ladi, bu esa unchalik qulay emas.

Yana bir muammo bor - brauzerga bo'lgan yuk. querySelector usuli bajarydigan sahifa bo'yicha elementlarni qidirish, juda sekin operatsiyadir (va umuman sahifa elementlari bilan ishlash - bu sekin operatsiyadir - buni eslang).

Bizning holatimizda, agar har safar querySelector dan foydalansak, brauzer har safar HTML sahifani qayta ishlaydi va berilgan id ga ega elementni bir necha marta qidiradi (id lar bir xil bo'lsa ham farqi yo'q - brauzer barcha amallarni bir necha marta bajaradi), bu esa brauzerning ishlashini sekinlashtirishi mumkin bo'lgan foydasiz operatsiyalardir.

Agar elem o'zgaruvchisidan foydalansak - sahifa bo'yicha hech qanday qidiruv bo'lmaydi (element allaqachon topilgan va unga havola o'zgaruvchida saqlanadi).

Задание 1

Quyidagi kod berilgan:

html<img id="image" src="avatar.png" width="300" height="500">
javascriptconsole.log(document.querySelector('#image').src);
console.log(document.querySelector('#image').width);
console.log(document.querySelector('#image').height);

Ushbu kodning kamchiliklarini ko'rsating. Ularni tuzating.