<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> //this是什么?谁调用当前的属性或者方法的,它就是谁 /* 2.1.bind方法作用 修改函数或者方法中的this为指定的对象, 并且会返回一个修改之后的新函数给我们 注意点: bind方法除了可以修改this以外, 还可以传递参数, 只不过参数必须写在this对象的后面 */ //call apply bind修改this的 /*call:修改函数或者方法中的this为指定的对象, 并且会立即调用修改之后的函数 注意点: call方法除了可以修改this以外, 还可以传递参数, */ /*apply:修改函数或者方法中的this为指定的对象, 并且会立即调用修改之后的函数 注意点: apply方法除了可以修改this以外, 还可以传递参数, 只不过参数必须通过数组的方式传递 立即执行是不返回的. */ let obj={name:"cyg"}; /* 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); </script> </body> </html>
JS中call apply bind的用法
关注
打赏