关于原型链继承的问题求高人解答

心湖风雨 2020-05-31 05:18:15
下面这段代码,为何控制台输出的B类型对象的实例b,却被认为是A类型?求解答
<!DOCTYPE html>
<html lang = "zh-cmn-Hans">
<head>
<title>继承的四种模式</title>
<meta charset = "utf-8">
</head>
<body>
<script type = "text/javascript">
function A () {}
var a = new A();
B.prototype = a;
function B () {}
var b = new B();
C.prototype = b;
function C () {}
console.log( b ); //A{}为何控制台输出的b被认为是A类型?
</script>
</body>
</html>
...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
心湖风雨 2020-05-31
  • 打赏
  • 举报
回复
谢谢,果然是这样的!
MINO吖 2020-05-31
  • 打赏
  • 举报
回复
因为fn B的原型对象指向了A呀! 如果你想让b的输出是B{ },可以使用如下代码,修改B的原型,指向A的原型,并规定其consructor B.prototype = Object.create(A.prototype, { constructor: { value: A } });

87,907

社区成员

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

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