JS, помогите понять return.

Я вообще не понимаю, как работает return

var arr = [10,9,4,5];
arr.sort(function my(a, b){
return a-b;
}
);

document.write(arr);

Получается так: верни, если a - b и что дальше?


var arr = [100, 200, 1, 2, 11, 3, 4, 5];

arr.sort(function (a,b) {

if (a < b) {
	return -1;
}

if (a > b) {
	return 1;
}

return 0;
	}
);
document.write(arr);

Если a меньше b, то вернуть -1, я в ступоре

Не так. Получается просто “всегда верни a-b”. Никаких условий в этом выражении нет.

Прочитайте пожалуйста вот эту статью на mdn про сортировку массива. Там написано почему -1. Если понятней не станет - напишите, попробуем помочь.