1 var scope = 'globe' 2 function log() { 3 // console.log(this) 4 let arg = Array.prototype.join.call(arguments, ', '); 5 console.log(`${this.scope}: ${arg}`); 6 } 7 let obj = { 8 scope: 'own', 9 lop: function() { 10 let scope = 'scope'; 11 log('low') 12 } 13 } 14 obj.lop(); // globe: low 15 obj.lop.call(obj); // globe: low 16 log.call(obj, 'create') // own: create
若是把var scope= ‘globe’ 爲 let scope = ‘globe’,結果就是node
PS: 綁定this方法: call 參數是分開的,apply 參數是數組,bind 綁定this後修改this就沒有做用了。數組