WEB开发网
开发学院网页设计JavaScript Javascript中的this关键字 阅读

Javascript中的this关键字

 2010-09-14 13:23:59 来源:WEB开发网   
核心提示: document.getElementById("div1").onclick=function(){doSomething();}当点击div1时,调用属于window的doSomething函数,Javascript中的this关键字(2),所以也是显示&ldquo

document.getElementById("div1").onclick=function(){doSomething();}

当点击div1时,调用属于window的doSomething函数,所以也是显示“undefined”;

3、通过js来绑定事件,在div2载入过后:

document.getElementById("div2").onclick=doSomething;

当点击div2时,显示“div2”,因为在给div2的onclick赋值,是将doSomething拷贝了一次,这时拷贝的这个函数是属于div2的了,跟属于window的doSomething没有任何关系了。点击div2时,就会触发属于div2的doSomething,这里的this就是指div2。

二、attachEvent和addEventListener

attachEvent是在ie中绑定事件的方法,会将相应函数拷贝到全局(即响应函数的owner为window),但是在DOM标准中,addEventListener绑定的事件时拷贝的响应函数的owner为事件所绑定的对象

functiondoSomething(){
  alert(this.id);
  alert(this==window);
}
window.onload=function(){
  vardiv1=document.getElementById("div1");
  if(div1.attachEvent){
    div1.attachEvent("onclick",doSomething);
    document.body.appendChild(document.createTextNode("attachEvent"));
  }elseif(div1.addEventListener){
    div1.addEventListener("click",doSomething,false);
    document.body.appendChild(document.createTextNode("addEventListener"));
  }else{
    div.onclick=doSomething;
  }
}

上一页  1 2 3 4 5 6 7  下一页

Tags:Javascript this 关键字

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接