zoukankan      html  css  js  c++  java
  • FED1 修改 this 指向(中等)

    通过率:40.23%

    题目链接

    描述

    封装函数 f,使 f 的 this 指向指定的对象

    示例1

    输入:无
    输出:无

    参考资料

    bind,call,apply的区别

    • 当我们使用一个函数需要改变 this 指向的时候才会用到 call,apply,bind
    • 如果你要传递的参数不多,则可以使用 fn.call(thisObj, arg1, arg2 ...)
    • 如果你要传递的参数很多,则可以用数组将参数整理好调用 fn.apply(thisObj, [arg1, arg2 ...])
    • 如果你想生成一个新的函数长期绑定某个函数给某个对象使用,则可以使用 const newFn = fn.bind(thisObj); newFn(arg1, arg2...)
    • call,apply,bind不传参数自动绑定在 window
    /* 用bind */
    function bindThis(f, oTarget) {
        return f.bind(oTarget)
    }
    
    /* 用call */
    function bindThis(f, oTarget) {
        return function() {
            return f.call(oTarget, ...arguments)
        }
    }
    
    /* 用apply */
    function bindThis(f, oTarget) {
        return function() {
            return f.apply(oTarget, arguments)
        }
    }
  • 相关阅读:
    IOS性别
    IOS生命周期
    读书的作用
    Core Data
    解析Json数据
    sicily Knight Moves
    sicily 简单魔板2
    Sum of Consecutive Primes
    [OI笔记]杂题整理1(基础篇~)
    [IOI1994]The Castle
  • 原文地址:https://www.cnblogs.com/wwqzbl/p/15430943.html
Copyright © 2011-2022 走看看