深入理解JS中的对象和this

3 views
Skip to first unread message

beansoft

unread,
Apr 14, 2008, 9:49:14 AM4/14/08
to MapEasy
问题:

function aa(){
this.bb=12;this.div;

this.div.onclick=function(){alert(this.bb);}
}

事件可以触发.但是就是取不到值啊.为什么.



答案:

this.div.onclick=function(){alert(this.bb);} 因为 onclick中的this都是指的事件源,也就
是 div。这是作用域不同的原因,该如何解决呢?其实只要给div多加一个属性就可以了:

this.div.obj = this.bb;



完整的代码:

function aa(){
this.bb=12;this.div;

this.div.obj = this.bb;

this.div.onclick=function(){alert(this.obj);}
}



任何对象都可以加入任意多的属性,就怕你不理解什么是对象,建议做AJAX开发的深入了解JS里面的对象和指针理论(JS对象的属性几乎就是指针)。
Reply all
Reply to author
Forward
0 new messages