首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

学习javascript 构造函数原型方法属性遇到的有关问题

2012-09-04 
学习javascript 构造函数原型方法属性遇到的问题先上测试代码,很简单,就是定义一个有变量,然后通过构造函

学习javascript 构造函数原型方法属性遇到的问题
先上测试代码,很简单,就是定义一个似有变量,然后通过构造函数方法返回变量,通过原型方法设置变量,代码的结果是undefined undefined 'www'问题来了,为什么调用的b1对象方法,却只有b3的user被设置呢。。。这个想了一会,只有一个解释能说服自己:调用原型方法时在box的原型中找不到user变量,于是查找离方法调用最近的对象,设置里面的user变量可以通过把b1.setuser拿到b2下面做测试。如果有同学有不同见解欢迎交流。

<script>function box(){var user;this.getuser=function(){return user;};box.prototype.setuser=function(value){user=value;};}var b1=new box();var b2=new box();var b3=new box();b1.setuser('www');alert(b1.getuser());alert(b2.getuser());alert(b3.getuser());</script>

热点排行
Bad Request.