apply、call、bindの使い方と違い


appy、call、bindの使い方
var name = 'lucy',age = 10;
var obj = {
	name: 'jack',
	objage: this.age,
	myfunc: (sex,num) => {
		console.log('this.name' + '    :' + this.age + '   :' + sex + '     :' + num);
	}
}

var obj1 = {
	name: 'tom',
	age: 18
}

obj.myfunc.apply(obj1,[' ','12345']);  // tom    :18   :      :12345
obj.myfunc.call(obj1,' ','12345'); 	// tom    :18   :      :12345
obj.myfunc.bind(obj1,' ','12345')();	// tom    :18   :      :12345
apply、call、bind共通点
apply、call、bindはいずれも関数の中でthisの方向を変えることができます.伝達の最初のパラメータはthisが指す対象です.
apply、call、bindの違い
apply()の2番目のパラメータは、1つの配列またはクラスの配列だけを伝達することができます.call()とbind()の伝達のパラメータは、すべて‘,'(コンマ)で区切られる必要があります.これ以外に、bind()の戻り値は新しい関数であり、呼び出しが必要ではありません.