Показать сообщение отдельно
  #1 (permalink)  
Старый 12.12.2016, 19:48
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

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