提起函數中的this是很多初學者較為苦惱的,也是很多工作一段時間的人也存在誤解的,你問this指向的是誰,大多數人會隨口一答當然是指向調用這個函數的元素,當然這也沒什麼錯,可是函數的調用方法不同this的指向就不同,下麵就看一下函數的幾種調用方法 1. 直接調用:this>Window 2.通過對象 ...
提起函數中的this是很多初學者較為苦惱的,也是很多工作一段時間的人也存在誤解的,你問this指向的是誰,大多數人會隨口一答當然是指向調用這個函數的元素,當然這也沒什麼錯,可是函數的調用方法不同this的指向就不同,下麵就看一下函數的幾種調用方法
1. 直接調用:this>Window
<script> function fn(){ console.log(this) } fn()//直接接調用指向window </script>
2.通過對象調用:this>調用函數的對象
<script> function fn(){ console.log(this) } var obj ={ fn:fn } obj.fn()//指向對象obj </script>
3.事件調用:this>觸發事件的函數
<script> function fn(){ console.log(this) } document.onclick = fn;//指向#document </script>
4.定時器調用:定時器調用:this>Window
<script> function fn(){ console.log(this) } setTimeout(function(){ fn() //指向Window },1000) </script>