Что за ненависть и в чем проблема?
Как написать подобный код без ошибок? хм... Попробовать следовать рекомандациям, которые написаны?
function say() {
return function (name) {
return greet + ' ' + name;
};
}
var greet = 'Hello';
var en = say();
console.log(say('John'));
console.log(say('Martin'));
Кстати, тут ошибки стили даже не js-специфические, а вообще, самые что ни на есть типичные - кавычки, отступы.
Единственное что, тут можно подумать насчет директивы use strict, и как следствие, все эти предупреждения об использовании функций/переменных до объявления. Так, конечно, лучше, но для jquery-сайта совсем не обязательно