Разобрался с асинхронностью, узнал про WebApis, Stack. Верно ли я понимаю, что операции выполняются следующим образом:
1)
var callback = 0;
2)
$.ajax({})
улетел в WebApis, потом в очередь задач (task's queue), потом event loop запулил его в stack
3)
alert(callback);
//вывелся коллбэк, который собственной и не изменялся, как был 0 так 0 и остался.
4) После Того как Event Loop выпнул из очереди задач фидбэк ajax запроса, он выполнится:
.done(function(data){
callback = 1;
});