function func(){ console.log(this); }
func();
2.2.經過對象.函數名()調用的--this指向這個對象 數組
狹義對象: this指向--obj app
var obj={ name:"obj", func1:func }; obj.func1();
廣義對象: this指向--div函數
document.getElementById("div").onclick=function(){ this.style.backgroundColor="red"; }
2.3. this指向——數組arrthis
var arr=[func,1,2,3]; arr[0]();
2.4.函數做爲window內置函數的回調函數調用,this指向window setInterval,setTimout等spa
setInterval(func,1000); setTimeout(func,1000)
2.6. 經過call、apply、bind調用,this指向咱們規定的對象。code
Func.call(obj,參數一,參數2,參數3.。。。)對象
Func.allply(obj,[ 參數一,參數2,參數3.。。。])blog
Func.bind(obj)( 參數一,參數2,參數3) var f = func.bind(obj). f(…….);get
var fullname = 'John Doe'; var obj = { fullname: 'Colin Ihrig', prop: { fullname: 'Aurelio De Rosa', getFullname: function() { return this.fullname; } } }; console.log(obj.prop.getFullname()); // Aurelio De Rosa //函數最終調用者:obj.prop this--->obj.prop
var test = obj.prop.getFullname; console.log(test()); // John Doe // 函數最終調用者: 函數() window this-->window