Разбираю чужой скрипт и не могу понять назначение некоторых блоков кода, например:
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?