11.bind-call-apply方法

1.this是什么?

  • 谁调用当前函数或者方法, this就是谁

2.这三个方法的作用是什么?

  • 这三个方法都是用于修改函数或者方法中的this的

2.1.bind方法作用
修改函数或者方法中的this为指定的对象, 并且会返回一个修改之后的新函数给我们

  • 注意点: bind方法除了可以修改this以外, 还可以传递参数,只不过参数必须写在this对象的后面

2.2.call方法作用

  • 修改函数或者方法中的this为指定的对象, 并且会立即调用修改之后的函数
  • 注意点: call方法除了可以修改this以外, 还可以传递参数, 只不过参数必须写在this对象的后面

2.3.apply方法作用

  • 修改函数或者方法中的this为指定的对象, 并且会立即调用修改之后的函数
  • 注意点: apply方法除了可以修改this以外, 还可以传递参数,只不过参数必须通过数组的方式传递
 let obj = {
            name: "zs"
        }
        /*
        // function test(a, b) {
        //     console.log(a, b);
        //     console.log(this);
        // }
        // test(10, 20);
        // window.test();
        // let fn = test.bind(obj, 10, 20);
        // fn();

        // test.call(obj, 10, 20);

        // test.apply(obj, [10, 20]);
        */

        function Person() {
            this.name = "lnj";
            this.say = function () {
                console.log(this);
            }
        }
        let p = new Person();
        // p.say();
        // let fn = p.say.bind(obj);
        // fn();
        // p.say.call(obj);
        p.say.apply(obj);

学这些是为了解决
10.继承方式一

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容