<!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>
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论