gpt4 book ai didi

Javascript:获取父类(super class)中的子类类型

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:07:30 26 4
gpt4 key购买 nike

我正在使用 this创建一些类并设置一些继承结构。

var ControlType = Class.extend({
init: function(){ },

html: function(type){
//Get template based on name of subclass
}
});

var YesNo = ControlType.extend({
init: function(){ },
html: function() {
this._super('YesNo')
}
});

现在我想知道是否可以在 ControlType.html 中获取子类的类型而不显式传递它?

更新:

我试过 this.constructor 没有像有人建议的那样扩展功能,但这会返回父类的类型。所以在下面的例子中,控制台记录了 Person() 但我需要 Jimi()。

function Person(){
this.say = function(){
console.log(this.constructor);
}
}

function Jimi(){
this.name = 'Jimi';
}
Jimi.prototype = new Person();

var j = new Jimi();
j.say();

最佳答案

很难选择,因为实际上有几种不同的方法可以做到这一点。我想也许最简单的是这样的:

function Person(){
this.name = 'Person'; //<<< ADDED THIS
this.say = function(){
console.log(this.name); //<<< ADDED THIS
}
}

function Jimi(){
this.name = 'Jimi';
}
Jimi.prototype = new Person();

var j = new Jimi();
j.say();

这将输出

Jimi

希望对您有所帮助!

关于Javascript:获取父类(super class)中的子类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3272405/

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