Предности и недостаци ланаца у ЈаваСкрипту
Иако ланци скраћују код,
у већини случајева увођење променљиве
је ипак погодније. Упоредите два примера -
сада сам увео променљиву elem и могу
да упишем било који број атрибута, при
чему се querySelector позива само
једном:
let elem = document.querySelector('#elem');
elem.value = 'www';
elem.type = 'submit';
Сада не уводим нову променљиву и зато
морам да позовем querySelector
два пута:
document.querySelector('#elem').value = 'www';
document.querySelector('#elem').type = 'submit';
По мом мишљењу, овај код је постао сложенији, иако
заузима за један ред мање. Поред
тога, ако желим да променим вредност id
са 'elem' на неку другу, мораћу
то да урадим на многим местима, што није баш
погодно.
Постоји и још један проблем - оптерећење прегледача.
Тражење елемената по страници, које ради
метода querySelector, представља прилично
спору операцију (и уопште било који рад
са елементима странице - то је спора операција
- запамтите то).
У нашем случају, ако користимо
querySelector сваки пут, онда ће прегледач сваки пут
обрађивати HTML страницу и тражити
елемент са задатим id неколико пута
(није битно што су id исти - прегледач
ће све радње да изврши неколико пута), обављајући
бескорисне операције које могу да успоре
рад прегледача.
Ако користимо променљиву elem
- нема тражења по страници
(елемент је већ пронађен и референца на њега се налази
у променљивој).
Дат је следећи код:
<img id="image" src="avatar.png" width="300" height="500">
console.log(document.querySelector('#image').src);
console.log(document.querySelector('#image').width);
console.log(document.querySelector('#image').height);
Наведите недостатке овог кода. Исправите их.