The A in Ajax stands for asynchronous . That means sending the request (or rather receiving the response) is taken out of the normal execution flow. In your example,
$.ajax returns immediately and the next statement,
return result;, is executed before the function you passed as
success callback was even called.
Here is an analogy which hopefully makes the difference between synchronous and asynchronous flow clearer:
Imagine you make a phone call to a friend and ask him to look something up for you. Although it might take a while, you wait on the phone and stare into space, until your friend gives you the answer that you needed.