首页 > 试题广场 >

修改 this 指向

[编程题]修改 this 指向
  • 热度指数:118605 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
封装函数 f,使 f 的 this 指向指定的对象
示例1

输入

输出

头像 qsefgq
发表于 2021-05-15 10:31:58
call()、bind()、apply()的用法,改变this的指向,区别在于f.call(obj, arg1, arg2...),f.bind(obj, arg1, arg2,...)(),f.apply(obj, [arg1, arg2, .]) applyfunction bindThis 展开全文
头像 offer快碗里来
发表于 2019-09-24 10:00:14
function bindThis(f, oTarget) { let args = Array.prototype.slice.call(arguments, 2); return function(){ return f.apply(oTarget, Array. 展开全文
头像 Mr周08
发表于 2021-03-04 11:51:48
function bindThis(f, oTarget) { return function(...args){//返回一个函数--封装;。。。arg用于将数据都接收到数组args中 oTarget.f=f;//利用对象的方法中的this指向对象原理,将f中的this指向对 展开全文
头像 penner
发表于 2021-02-15 14:47:00
// test let test = (function () { var r = bindThis( function (a, b) { return this.test + a + b; }, { test: 2 } )(2, 3); return 展开全文
头像 我的昵称有点店丶长
发表于 2021-07-27 20:12:42
此处可以延伸下call,apply,bind区分和各自的用法 1)、bind会产生新的函数,(把对象和函数绑定死后,产生新的函数) 2)、call和apply不会产生新的函数,只是在调用时,绑定一下而已。 3)、call和apply的区别,第一个参数都是要绑定的this,apply第二个参数是数 展开全文
头像 敲代码的斯斯啊
发表于 2021-08-05 16:02:58
考察call()、bind()、apply()的用法,改变this的指向函数中this原本指向是windows,通过以下方法改变this指向1.apply() function bindThis(f, oTarget) { return function() { return f. 展开全文
头像 落叶惊雷
发表于 2021-07-04 21:39:45
主要考点:1.this作用域2.call apply bind的理解3.argument的理解4.展开语法...的理解 return function() { console.log('arguments', arguments); return f.call(oTarget 展开全文
头像 hito_chen
发表于 2023-06-01 11:41:46
function bindThis(f, oTarget) { //apply传入的参数是数组形式传入,立即执行需要写function() return function(){ return f.apply(oTarget,arguments) } }functi 展开全文
头像 sticla
发表于 2021-09-27 21:32:06
手写 bind function bindThis(f, oTarget) { if (typeof f !== "function") throw new TypeError(f + " must be a function"); let o = O 展开全文
头像 foewhat
发表于 2021-09-13 20:11:09
调用对象的一个方法,用另一个对象替换当前对象;A对象调用B对象方法 A.call(B, arg1, arg2); 后面的参数一个个传入,立即执行 A.apply(B, [arg1, arg2,...]); 传入参数是数组形式传入,立即执行 A.bind(B, arg1, arg2); 和call 展开全文