這篇文章主要介紹了淺談javascript中this在事件中的應(yīng)用實例,非常有助于我們對this關(guān)鍵字的理解,這里推薦給大家。
this關(guān)鍵字在javascript中是非常強大的,但是如果你不清楚它是怎么工作的就很難使用它.
代碼如下:
function dosomething(){ this.style.color="#fff"; }
上面這段代碼中的this指向什么呢,運行dosomething()會輸出什么呢?
在javascript中,this總是指向當前執(zhí)行的這個函數(shù),或者把函數(shù)作為方法調(diào)用的這個對象.當我們在頁面上定義dosomething()這個方法后,this的所有者就是當前的頁面,或者說是全局對象.
所以我們執(zhí)行dosomething()這個函數(shù),會引發(fā)錯誤.因為函數(shù)的this指向的是全局對象window,而window對象沒有style屬性.
復(fù)制:
代碼如下:
element.onclick=dosomething;
dosomething()現(xiàn)在被整個復(fù)制到onclick屬性上作為一個方法.所以如果這個事件執(zhí)行的話,this就指向這個HTML元素,相應(yīng)HTML元素的color就會改變.dosomething每次復(fù)制到事件上,this就會指向當前執(zhí)行這個方法的html元素.
引用:
代碼如下:
<element onclick="dosomething()">
此時你沒有復(fù)制這個方法,而是引用了這個方法,onclick屬性并不包含實際的方法,僅僅只是一個方法的調(diào)用.當我們執(zhí)行這個方法時,this再次指向全局window對象并引發(fā)錯誤.
以上就是本文的全部內(nèi)容了,有需要的小伙伴好好來研究下吧。
更多信息請查看IT技術(shù)專欄