Вход

Просмотр полной версии : Прошу объяснить две проверки


spo
12.12.2016, 19:48
Разбираю чужой скрипт и не могу понять назначение некоторых блоков кода, например:
try {
window.addEventListener('load', init, false);
} catch(e) {
window.onload = init;
}
Я понимаю, что в случае если в try что то пойдет не так, то выполнится catch, но не понимаю, чем одна инициализация лучше другой и почему не использовать только вторую, если она в случае неудачи покрывает первую?

И еще:
function getObj(name) {
if (document.getElementById) {
return document.getElementById(name);
} else if (document.all) {
return document.all[name];
} else if (document.layers) {
return document.layers[name];
} else {
return false;
}
}
Для чего такая сложная проверка и что может пойти не так, для того чтобы применился каждый следующий if else?

рони
12.12.2016, 20:29
spo,
в те стародавние времена, когда любой программист мог написать свой браузер на коленке, addEventListener или getElementById, он мог назвать по другому ...

spo
12.12.2016, 20:34
То есть будет достаточно в первом случае window.addEventListener('DOMContentLoaded', init); а во втором document.getElementById('name');
?

рони
12.12.2016, 20:37
spo,
да