call,apply,bind的区别

81 阅读1分钟

call,apply,bind的区别

call,apply改变this指向,返回的是方法执行的结果(立即执行方法)
  • call传参test.call(_this,'ww','gg')
  • apply传参test.call(_this,['ww','gg'])

bind改变this的指向,返回的是一个方法(改变this指向后的方法)

function getSummaries(this, col: string[] = []) 
{
	const { data } = this.table;
    return 'ccc'
}
1.输出getSummaries.bind(this,[''])
ƒ getSummaries(col) {
	var data = this.table.data;
    return 'ccc'
}
2.输出getSummaries.call(this,[''])
'ccc'// 执行方法