apply-call-bind用法 ...
<!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>