本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-)
web面试题专栏:点击此处
在 JavaScript 中, bind , apply 和 call 都是用于改变函数执行上下文的方法。它们的区别如下:
const obj = { name: 'Penk' };
function greet(str) {
console.log(`Hello, ${this.name+str} !`);
}
const boundGreet = greet.bind(obj,'是个码农');
boundGreet(); // 输出:Hello, Penk是个码农!
const obj = { name: 'Penk' };
function greet(greeting) {
console.log(`${greeting}, ${this.name}!`);
}
greet.apply(obj, ['Hi']); // 输出:Hi, Penk!
const obj = { name: 'Penk' };
function greet(greeting) {
console.log(`${greeting}, ${this.name}!`);
}
greet.call(obj, 'Hey'); // 输出:Hey, Penk!
总结:
这些方法允许您在 JavaScript 中更灵活地控制函数的执行上下文。