gpt4 book ai didi

Javascript:Object.Create(原型(prototype))不起作用

转载 作者:行者123 更新时间:2023-12-03 06:00:06 25 4
gpt4 key购买 nike

我在 node.js 中运行以下命令:

function TextCell(text) {
this.text = text.split("\n");
}

TextCell.prototype.minWidth = function() {
return this.text.reduce(function(width, line) {
return Math.max(width, line.length);
}, 0);
};

TextCell.prototype.minHeight = function() {
return this.text.length;
};

TextCell.prototype.draw = function(width, height) {
var result = [];
for (var i = 0; i < height; i++) {
var line = this.text[i] || "";
result.push(line + repeat(" ", width - line.length));
}
return result;
};

function RTextCell(text) {
TextCell.call(this, text);
}

RTextCell.prototype = Object.create(TextCell.prototype);

RTextCell.prototype.draw = function(width, height) {
var result = [];
for (var i = 0; i < height; i++) {
var line = this.text[i] || "";
result.push(repeat(" ", width - line.length) + line);
}
return result;
};

当我console.log(RTextCell.prototype)时,我得到一个仅包含绘图函数的原型(prototype)。另外,当我 log(Object.create(Textcell.prototype)) 时,我只得到“TextCell{}”。为什么原型(prototype)的克隆看起来是空的?

编辑:我注意到了我的错误。我在定义 RTextCell 类型的对象之前创建了它。这就是为什么原型(prototype)结果是空的。抱歉,这里没有包含该部分

最佳答案

Why does it seem like the clone of the prototype is empty?

因为它没有自己的属性。继承的属性不会直接显示在控制台中,但是当您展开对象时,您可以遵循原型(prototype)链。

关于Javascript:Object.Create(原型(prototype))不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com