this对象:指的是函数上下文对象
上下文指的是代码的执行环境
this:是函数内部隐含的一个参数,会根据函数不同的调用方式指向不同的对象
作用是会根据函数调用方式不同,而指向不同的对象
函数名加括号的形式调用this指向的是window,在严格模式下,通过这种方式this是无法指向全局对象window的(会变成undefined)。
通过对象调用,this指向的是当前对象。
通过事件调用函数,this指向的是当前事件的调用者。
例子:当点击button的时候改变其背景颜色
<style>
button{
width: 100px;
height: 50px;
margin-top: 100px;
border: none;
border-radius: 25px;
}
button:nth-child(1){
margin-left: 200px;
}
</style>
<button>按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<button>按钮4</button>
<button>按钮5</button>
//通过标记名获取元素,结果会是一个伪数组
var btn=document.getElementsByTagName('button')
// 通过遍历伪数组来快速绑定事件
for(var i=0;i<btn.length;i++){//触发前
//绑定
btn[i].οnclick=function(){
//排他:先清除所有的样式,再给自己设置
for(var j=0;j<btn.length;j++){//触发后
btn[j].style.backgroundColor=''
}
this.style.backgroundColor='red'
}
}
最终效果图: