在web前端开发中,javascript中的this和其他的JAVA,C#等大型语言一样,是一个重要概念。但是要注意的是,在javascript中,由于 javascript的动态性,this的指向在运行时才确定,这就需要我们掌握它的工作原理。
零度接下来来分析分析。
默认的this
Javascript 下,所有的属性都默认为window对象所有,所以说this也不例外,看下面的例子,先来个热身:
var a = “123”; function fn(){ var a = “345”; alert(this.a);//与window.a相同 } fn();// 123
由此可见,fn()执行时,函数里的this 指向全部对象window。
指定事件的this
再看下面这个例子:
window.onload = function(){ document.getElementById(“box”).onclick = function(){ alert(this.style.width); }; }
运行弹出的是id为box元素的宽,表明这里的this指向的是当前元素。
不指定事件元素的时候this指定的是window,指定事件元素的时候,this指定当前发生事件的元素。