为什么有时候一定要用this
but[i].onclick=function()
{
but[i].className='aaa'; //这样写会报错,TypeError: but[i] is undefined
};
因为在匿名函数内找不到but[i],这是因为在上下文中没有对but[i]进行声明,在循环体内简单修改下代码:
var buts = but[i]; //把but[i]赋值给bugs,那么在匿名函数内就可以用了
buts.onclick=function()
{
buts.className='aaa';
};
不过里面用this还是好些,因为用了上面的,那么如果你有好几个input框的话,结果只有最后的input的css起作用
but[i].onclick=function()
{
this.className='aaa'; //这样写是对的,this代表了当前的点击的对象
};