this指针

来源:互联网 发布:淘宝如何发链接给别人 编辑:程序博客网 时间:2024/06/05 20:35

this指针指向调用当前操作的对象,大大方便了查找对象的难度。

一段简单的代码:

<script>
window.onload = function(){
var mes = [1,2,3,4,5,6]
]
var divList = document.getElementsByClassName('div');
for(var i = 0 ;i < divList.length; i++){
divList[i].index = i;
divList[i].onclick = function(){
for(var j = 0; j < divList.length; j++){
if(this.index == j){
this.className = 'month active';
}else{
divList[j].className = 'month';


}
}
var index = this.index;
var mons = document.getElementById('mons');
var mess = document.getElementById('mess');
var mees = mes[index];
mons.innerHTML = [index + 1] ;
mess.innerHTML = mees;
}
}
}
</script>

在此代码段中使用了this指针,让其去‘定位‘ divList数组中的某一个元素,‘定位’判断标准是谁的onclick 事件发生了。‘定位’之后,就可以对其执行相应的我们想要对其样式修改的代码了。

有一个小小的对我们初学者而言并不熟悉的知识点,在上述代码中,只要一打开页面,for循环就结束了,可能会以为里面的代码全部执行结束,或者函数调用结束;没有调用的也结束了,因为它的父级for已经结束了。但是for循环在这样的情况下知识赋予了每个divList元素一个相同的属性值,这个属性值的调用是系统去调用的。也就是说,尽管for已经结束了,但是这个被赋予的属性的调用时我们进行操作的时候才会触发,因为这是系统去调用的,只要我们的操作满足了条件就可以调用。这就是js语言的机制。



说的可能并不对,但这是我此时的理解。

 


0 0