问个OOP的问题

qfljm 2004-10-12 06:23:55
<script language="javascript">
function Test(){
this.a='A';
this.re=function (){
alert(this.a);
}
this.re();
}
var Te= new Test('Te');
Te.a='B';
Te.re();
</script>

上面两次alert的值为何不一样?
我实例化Test后然后把Test中的属性a重新付值成B,
即然以经重新付值.那不管在什么地方用a这个属性都应当等于B吧?
还是我理解有错?
请高手帮忙解释.
...全文
39 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ttyp 2004-10-12
  • 打赏
  • 举报
回复
对,第一个是构造时的值,第二个是修改后的值
blues-star 2004-10-12
  • 打赏
  • 举报
回复
this.re();
是在
new Test('Te');时运行的
而这时this.a = 'A'
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-12 06:23
社区公告
暂无公告