JS中改变this指向
let obj = {
name:'Tom',
age:18
}
// call():可以调用函数,第一个参数为this指向的对象,其余参数为函数的参数,返回值是原函数的返回值
function test (like) {
console.log(this.name,'今天'+this.age+'了','喜欢'+like)
}
test.call(obj,'喝牛奶')
// Tom 今天18了 喜欢喝牛奶
// apple():可以调用函数,第一个参数为this指向的对象,第二个参数为数组,数组里的值是函数的参数,返回值是原函数的返回值
function test1 (like1,like2){
console.log(this.name,'今年',this.age,'了','喜欢',like1,'和',like2)
}
test1.apply(obj,['吃鸡腿','看电影'])
// Tom 今年 18 了 喜欢 吃鸡腿 和 看电影
// bind():不可以调用函数,第一个参数为this指向的对象,其余参数为函数的参数,返回值是新函数
test.bind(obj,'喝牛奶')
// ƒ test (like) {
// console.log(this.name,'今天'+this.age+'了','喜欢'+like)
// }