关于一个继承例子的疑惑 让triangle继承polygon的属性和方法。不过,看不明白你的例子中,两个alert想说明什么问题。对于prototype,下面的网页上解释的比较清楚。http://www.javaeye.com/topic/53537 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哦,对...是alert(oTriangle.sides);应该是这个alert...这样的话...还是能alert出来sides = 3去掉了那一句...还是继承了属性?我不太懂... //triangle.prototype = new polygon();意思是继承 polygon的prototype在这里就是 getArea然后triangle又重新定义了getArea如果不重新定义就是0;楼主可以试试<script>function polygon(iSides) { this.sides = iSides;}polygon.prototype.getArea = function() { return 0;}function triangle(iBase, iHeight) { polygon.call(this, 3); this.base = iBase; this.height = iHeight;}triangle.prototype = new polygon(); // 打开这个//triangle.prototype.getArea = function() { //注释掉这个 // return 0.5 * this.base * this.height;//}function test() { var oTriangle = new triangle(2, 4); var oTriangle1 = new triangle(4, 8); alert(oTriangle.getArea()); // 0 alert(oTriangle1.getArea()); // 0}test();</script> 你需要看一下prototype, call 的资料。还有JSON的资料。你的程序中使用了 polygon.call(this, 3);用面向对象的概念就是这操作覆盖了父对象的属性。实际上就是调用polygon(iSides) 给 triangle对象追加了一个.sides属性。triangle.prototype = new polygon()之后,在整个链中 triangle 和他的父对象都有了sides属性。不过用为最先找到的时triangle 自己的side属性,因此返回3。你最好还是看看我在1楼发的链接。 求一段验证用户密码强度的js 用jscript来处理xml 怎么用javascript xmlhttp 伪造Referer 来绕过来源检测 Google Mapplet注册失败:“解析小工具规范时出错” 为什么没反应 请问如何验证这样的时间格式? 获取日期时的格式问题? 我觉得目前最好的新闻系统,非常的漂亮!不敢独享,特给大家推荐。 为什么会出现这个错误,只能填加一个不能删除 如何屏蔽掉系统的右键菜单,只显示自己的菜单?谢谢! 在js中想得到当前时间的后三年时间 在js中想得到当前时间的后三年时间
哦,对...
是alert(oTriangle.sides);
应该是这个alert...
这样的话...还是能alert出来sides = 3
去掉了那一句...还是继承了属性?我不太懂...
意思是继承 polygon的prototype
在这里就是 getArea
然后triangle又重新定义了getArea
如果不重新定义就是0;
楼主可以试试<script>
function polygon(iSides) {
this.sides = iSides;
}
polygon.prototype.getArea = function() {
return 0;
}function triangle(iBase, iHeight) {
polygon.call(this, 3);
this.base = iBase;
this.height = iHeight;
}
triangle.prototype = new polygon(); // 打开这个
//triangle.prototype.getArea = function() { //注释掉这个
// return 0.5 * this.base * this.height;
//}function test() {
var oTriangle = new triangle(2, 4);
var oTriangle1 = new triangle(4, 8);
alert(oTriangle.getArea()); // 0
alert(oTriangle1.getArea()); // 0
}
test();
</script>
你需要看一下prototype, call 的资料。
还有JSON的资料。
你的程序中使用了 polygon.call(this, 3);
用面向对象的概念就是这操作覆盖了父对象的属性。
实际上就是调用polygon(iSides) 给 triangle对象追加了一个.sides属性。
triangle.prototype = new polygon()之后,
在整个链中 triangle 和他的父对象都有了sides属性。
不过用为最先找到的时triangle 自己的side属性,因此返回3。你最好还是看看我在1楼发的链接。