How does points.sort(compare) work exactly?

From Web Development 101, Fundamentals Part 4:

I kind of know how this works, but I have a few questions:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
// now points[0] contains the lowest value
// and points[points.length-1] contains the highest value

points.sort is an alphabetical sort

points.sort(function(a, b){return a - b}); tells it to sort using a compare function.

The compare function is (function(a, b){return a - b})

{return a - b} tells how big or small a number is by subtracting one from the other and getting a sum. The order of those sums corresponds with each “a” that’s tested against a “b”.

How does the computer keep track of these sums and know to translate it back to the “a” in the array?

This is what I’m having a hard time wrapping my mind around. If I wanted to do something to an array repeated like the compare function does, it would be helpful to understand how this works.

Or should I just accept that a compare is that?