具体的には何が代入されるのか

以下のコードを見よ。

var func = function(){ console.log(this); };
var obj = {};
obj.funcMethod = func;

// パターン1. 通常呼び出し
func();                     // ... thisは、GlobalObject(通常はwindowオブジェクト)

// パターン2. オブジェクトのメソッドとして呼び出し
obj.funcMethod();           // ... thisは、obj

// パターン3. apply, call メソッドで呼び出し
func.call (targetObj);      // ... thisは、targetObj
func.apply(targetObj);      // ... thisは、targetObj

// パターン4. bind メソッドで生成された関数オブジェクトの呼び出し
var boundFunc = func.bind(boundObj);
obj.boundFuncMethod = boundFunc;

boundFunc();                // ... thisは、boundObj
obj.boundFuncMethod();      // ... thisは、boundObj
boundFunc.call(targetObj);  // ... thisは、boundObj
boundFunc.apply(targetObj); // ... thisは、boundObj