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)
        }
    }
  • 相关阅读:
    requirejs 第一个实例
    ionic + cordova 环境搭建
    免安装mysql配置
    ConcurrentHashMap
    volatile和synchronized
    zookeeper集群安装
    题目
    Nginx
    CountDownLatch
    自己总结
  • 原文地址:https://www.cnblogs.com/wwqzbl/p/15430943.html
Copyright © 2011-2022 走看看