[求助]JavaScript构造函数原型对象中属性的修改问题 本帖最后由 wang_zhixing 于 2012-03-07 22:48:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //首先为什么出现"something" Cons.prototype.info="changed!"; //开始时,你修改了原型属性的info值,但你实例化后(var inst=new Cons()),里面又有Cons.prototype.info="something";//所以值又值改了 所以值是"something" Cons.prototype.newInfo //可以在原型对象中建立新的属性:是可以的,,你可以创建n个属性 Cons.prototype.newInfo 和Cons.prototype.info 是不同的,但都属于Cons这个对象 阿斌哥说得有道理,其实这只是一个执行顺序的问题首先,JS解释器会提前处理函数和变量声明,此时已经创建了 inst 、 Cons 和 Cons.prototype接着开始执行代码,到 Cons.prototype.info="changed" 时为 Cons.prototype 添加了属性 info:"changed"然后遇到 new Cons() 开始执行函数,将函数内部为 prototype 赋的值放入 Cons.prototype 中由于发现 info 重名,所以原来的值被覆盖 info:"something" ,如果将 Cons.prototype.info="changed" 放在后面,则覆盖顺序刚好相反最后,将创建好的对象交给 inst 一个简单的程序,不知道怎么样也运行不了 关于javasscipt作用域的问题,求解 action的问题 extjs的panel能不能左右收缩 请问如何可以获取到文本的值,急! 如何更改鼠标形状? 求助,如何算得日期中农历的月,日, [火急]请哪位高手帮忙将这些JavaScript代码装配成树型结构,小弟感激不尽!!! 升5个等边三角行,散200, jquery如何触发子框架页面地址改变事件 关于JS函数外的变量问题 如何用jquery控制展开小图标
所以值是"something"
Cons.prototype.newInfo //可以在原型对象中建立新的属性:是可以的,,你可以创建n个属性
阿斌哥说得有道理,其实这只是一个执行顺序的问题
首先,JS解释器会提前处理函数和变量声明,此时已经创建了 inst 、 Cons 和 Cons.prototype
接着开始执行代码,到 Cons.prototype.info="changed" 时为 Cons.prototype 添加了属性 info:"changed"
然后遇到 new Cons() 开始执行函数,将函数内部为 prototype 赋的值放入 Cons.prototype 中
由于发现 info 重名,所以原来的值被覆盖 info:"something" ,如果将 Cons.prototype.info="changed" 放在后面,则覆盖顺序刚好相反
最后,将创建好的对象交给 inst