首页 > 试题广场 >

函数的上下文

[编程题]函数的上下文
  • 热度指数:50159 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
将函数 fn 的执行上下文改为 obj 对象
示例1

输入

function () {return this.greeting + ', ' + this.name + '!!!';}, {greeting: 'Hello', name: 'Rebecca'}

输出

Hello, Rebecca!!!
头像 前端小菜鸡QAQ
发表于 2021-03-20 10:41:12
方法一:直接将fn挂载到obj对象上 function speak(fn, obj) { obj.fn = fn return obj.fn() }方法二:使用apply function speak(fn, obj) { return fn.apply(obj) }方法三: 展开全文
头像 雾里看花花里看雾
发表于 2023-06-24 14:28:29
思路:使用call、apply、bind,注意区别即可。 function speak(fn, obj) { return fn.call(obj) } function speak(fn, obj) { return fn.apply(obj) } function spe 展开全文
头像 牛客313085457号
发表于 2021-10-17 11:31:41
{"css":"","js":"function speak(fn, obj) {\n //return fn.call(obj)\n //return fn.apply(obj)\n // return fn.bind(obj)()\n obj.fn = fn\n r 展开全文
头像 agul
发表于 2021-07-18 07:17:54
function speak(fn, obj) { //return fn.call(obj) //return fn.apply(obj) // return fn.bind(obj)() obj.fn = fn return obj.fn() }
头像 想去三亚看海的大西瓜在划水
发表于 2023-04-04 08:29:40
function speak(fn, obj) { return fn.apply(obj); } function speak(fn, obj) { return fn.call(obj); }