1.apply/call函数:会改变this关键字,并且第一个参数作为this关键字。
/*apply与call区别*/
console.log(Array.prototype.join.call(['Hello', 'world'], ' ')); //接受一列参数
console.log(Math.max.apply(null, [1,2,3])); //接受一个数组参数
2.bing:会改变this关键字,并且第一个参数作为this关键字。
function Dur() {
this.time=1000
this.getTime=function () {
console.log(this.time)
}
}
var dur = new Dur()
dur.getTime() //this指向本身 1000
var newGetTime = dur.getTime.bind({time:200}) //改变getTime方法内的this,返回新方法
newGetTime() //200