В чем разница между обычным вызовом функции и call?

Подскажите в чем разница когда я пишу функцию через обычный вызов и через call??

fun("hello");
fun.call("hello");

call подменяет контекст this при вызове, вот пример:


function fun(arg) {
alert(arg);
alert(this);
}
fun("hello");

fun.call("hello","23");