1. Дело вкуса. По сути, написано одно и то же.
2. jQuery спроектирован так, что он никогда не должен выдавать ошибок. Поэтому если браузер ну вообще никак не поддерживает аякс, для того, чтобы не менять логику, сделаем так, что он «типа» его поддерживает.
То есть, мы можем сделать так:
var myObj;
if (myObj = document.getElementById("my-object")){
myObj.style.color = "red";
};
И присваивание произойдет только если элемент найден.
Или так:
(document.getElementById("my-object") || {"style": {}}).style.color = "red"
И присваивание произойдет в любом случае, но если объекта нет, значение присвоится и сразу же уйдет в небытие сборщику мусора.
Второй способ внешне похож на говнокод, но в случае, когда отсутствие объекта с id "my-object" — явление, скорее, аварийное, чем штатное, вполне себя оправдывает.