问个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吧?
还是我理解有错?
请高手帮忙解释.
...全文
46 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttyp 2004-10-12
  • 打赏
  • 举报
回复
对,第一个是构造时的值,第二个是修改后的值
blues-star 2004-10-12
  • 打赏
  • 举报
回复
this.re();
是在
new Test('Te');时运行的
而这时this.a = 'A'

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧