在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指定当前发生事件的元素。

posted on 2017-02-27 17:15  零度逍遥  阅读(172)  评论(0编辑  收藏  举报