练习牛客网笔试题--前端js--47-批量改变上下文
// 题目描述
// 将函数 fn 的执行上下文改为 obj,返回 fn 执行后的值
// 输入
// alterContext(function() {
// return this.greeting + ', ' + this.name + '!';
// }, {name: 'Rebecca', greeting: 'Yo' })
// 输出 Yo, Rebecca!
1.自己的练习
function alterContext(fn, obj) {
return fn.call(obj);
}
2.题解
function alterContext(fn, obj) {
return fn.bind(obj)();//.bind()返回的是一个函数,所以需要立即执行。
}
function alterContext(fn, obj) {
return fn.call(obj);
}
function alterContext(fn, obj) {
return fn.apply(obj);
}