• JavaScript中的 bind-call-apply方法


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>bind-call-apply方法</title>
        <script>
            // bind方法
            // 将函数或者方法中的this修改为指定的对象, 会返回一个修改之后新的函数给我们
            // 该方法除了修改this之外, 还可以传递参数, 并且参数必须写在this的后面
            // call方法
            // 将函数或者方法中的this修改为指定的对象, 会立即调用修改之后的函数
            // 该方法除了修改this之外, 还可以传递参数, 并且参数必须写在this的后面
            // apply方法
            // 将函数或者方法中的this修改为指定的对象, 会立即调用修改之后的函数
            // 该方法除了修改this之外, 还可以传递参数, 并且参数必须以数组的形式写在this的后面
    
            let obj = {
                name: "zs"
            };
    
            /*
            // 修改函数中的this
    
            // function test(a, b) {
            //     console.log(a, b);
            //     console.log(this);
            // }
    
            // 通过bind修改
            // let fn = test.bind(obj, 1, 2);
            // fn();
    
            // 通过call修改
            // test.call(obj, 3, 4);
    
            //通过apply修改
            // test.apply(obj, [5, 6]);
            */
    
            // 修改方法中的this
    
            // function Person() {
            //     this.name = null;
            //     this.age = 10;
            //     this.fun = function () {
            //         console.log(this);
            //     };
            // }
            // let p = new Person();
    
            // 通过bind修改
            // let fn = p.fun.bind(obj);
            // fn();
    
            // 通过call修改
            // p.fun.call(obj);
    
            // 通过apply修改
            // p.fun.apply(obj);
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
  • 相关阅读:
    Cocos Creator代码编辑环境配置
    CocosCreator编辑器界面
    Colored Sticks (并查集+Trie + 欧拉路)
    子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)
    相同的雪花 Hash
    F
    逆序数
    士兵杀敌5 前缀数组
    Color the ball 线段树 区间更新但点查询
    士兵杀敌(二) 线段树
  • 原文地址:https://www.cnblogs.com/TomHe789/p/12716215.html
Copyright © 2020-2023  润新知