<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <Meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>apply-call-bind用法</title> </head> <body> <script> // apply B.apply(A,arguments);即A对象应用B对象的方法 this指向A // call B.call(A,args1,args2);即A对象调用B对象的方法 this指向A // apply和call的功能是一样的,只是传入的参数列表形式不同 // bind 最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值 this.num = 9; var mymodule = { num: 81,getNum: function () { return this.num; } }; console.log() mymodule.getNum(); // 81 this指向 mymodule var getNum = mymodule.getNum; getNum(); // 9,因为在这个例子中,"this"指向全局对象 // 创建一个‘this‘绑定到module的函数 var boundGetNum = getNum.bind(mymodule); // this指向mymodule boundGetNum(); // 81 </script> </body> </html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。