gpt4 book ai didi

javascript - 函数声明中指定的基于原型(prototype)的继承

转载 作者:行者123 更新时间:2023-12-02 18:30:00 24 4
gpt4 key购买 nike

假设我有一个像这样的“类”(我正在使用 RequireJS ):

myClass.js

define(function() {

return function() {

this.color = 0;

this.setColor = function(color) {
this.color = color;
}
};
});

如果我想启用继承,我可以这样做:

 // later, in another file...
myClass.prototype = new superclass();

但是为什么我不能直接在函数声明中定义原型(prototype)呢?

define(['superclass'], function(superclass) {

return function() {

this.color = 0;

this.setColor = function(color) {
this.color = color;
}

this.prototype = new superclass;
};
});

如果我运行此命令,myClass 不会继承任何父类(super class) 的方法。为什么?

提前致谢。

最佳答案

你为什么不直接:

define(['superclass'], function(superclass) {

var myClass = function() {

this.color = 0;

this.setColor = function(color) {
this.color = color;
}


};

myClass.prototype = new superclass;
return myClass;

});

在返回定义之前你可以做任何你想做的事情。

关于javascript - 函数声明中指定的基于原型(prototype)的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900496/

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