javascript对象继承时函数的定义

刚刚在高校俱乐部自测时遇到的一道javascript题目,拿出来和大家分享。

题目:


问结果是什么。经过测试结果是 :程序出错,什么都不能输出。

然后把st.study();去掉之后就能够运行,所以是

Student.prototype.study = function() { alert(this.name+"学习"); }
Student.prototype = new Person();
这边出错了。自己得出结论在一个对象通过prototype继承另外一个对象之后,不能再通过prototype添加其他函数。如果要添加函数的话应该是在对象内部实现,

修改之后如下:

就能够实现 依次输出”张三丰学习” “张三丰移动”的函数。

为什么会这样呢?具体的原理是什么?希望有大神指点




你可能感兴趣的:(前端笔试题,前端,javascript,prototype)