gpt4 book ai didi

javascript - javascript中的形状类?

转载 作者:行者123 更新时间:2023-11-30 13:05:26 25 4
gpt4 key购买 nike

我正在尝试制作一个小的形状辅助对象来帮助我在 html 5 Canvas 上绘制形状。到目前为止我有;

var Shape = function (config) {

this.initialize(config);
};

var proto = Shape.prototype;

proto.initialize = function (config) {

this.x = config.x || 0;
this.y = config.y || 0;
this.width = config.width || 0;
this.height = config.height || 0;
this.color = config.color || false;
};

/*
Circle
*/

var Circle = function (config) {

this.initialize(config);
};

proto = Circle.prototype;

proto = new Shape();

但是好像不行!当我像这样打电话创建一个新圈子时;

var s1 = new Circle({x: 10, y: 10, width: 10, height: 10, color: "red"});

我如何创建一个基类 Shape 来帮助设置其他形状并分配一些形状应具有的常见属性,例如 CircleRect 等等?

我正在尝试学习 javascript,所以如果代码有问题,请解释原因以及如何改进它,

谢谢。

最佳答案

proto = new Shape();

这会将 proto 变量分配给一个新的 Shape 实例。
它不会影响 Circle.prototype,该变量之前恰好引用了它。


请注意,您正在运行 Shape() 构造函数来初始化 Circle 原型(prototype),这可能不是一个好主意。
相反,你可以写

Circle.prototype = Object.create(Shape.prototype);

此代码将创建一个继承Shape.prototype 的新对象,而不运行其构造函数。

关于javascript - javascript中的形状类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869422/

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