1. 程式人生 > >前端中this和自定義屬性

前端中this和自定義屬性

      this是一個特殊的存在,this是就是呼叫當前的方法,(函式)的(元素)物件在全域性下就是Window.在事件呼叫匿名函式裡直接呼叫時,this又變回了Window.這時元素呼叫的函式實際上是匿名函式,而匿名函式內部直接呼叫的函式依然是Window在呼叫

        自定義屬性是給之前元素上定義一個本來不存在的屬性。自定義屬性語法:元素 . 自定義屬性=a,js可以為任何HTML元素上新增任意數量的自定義屬性。自定義屬性是Js向HTML新增東西的方式之一。

 例如:

<script>

var aBtn = document.getElementsByTagName("input");
for(var i=0;i<aBtn.length;i++){
    aBtn[i].j = 0;   //給aBtn[i]自定義一個屬性值j使其初始化為0

    aBtn[i].onclick = function (){
        this.value = arr[this.j++%4];
    }
}

</script>

若沒有自定義屬性,當代碼執行到for迴圈時,但是卻沒有執行aBtn[i].onclick = function (){},所以當for執行完成後i=arr.length,函式進行執行時,i=arr.length則執行函式時便是錯誤的。