Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прошу объяснить две проверки (https://javascript.ru/forum/misc/66393-proshu-obyasnit-dve-proverki.html)

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,
да


Часовой пояс GMT +3, время: 02:22.