gpt4 book ai didi

javascript - 将参数传递给 Javascript 子类

转载 作者:行者123 更新时间:2023-11-29 23:08:34 24 4
gpt4 key购买 nike

<分区>

我要解决的问题是将参数传递给对象子类的构造函数。

此代码(其中函数不带参数)有效。它包括两种场景,一种是创建MyClass的实例,另一种是创建MySubClass的实例:

<input type="button" value="Scenario 1" onclick="Scenario1()" />
<input type="button" value="Scenario 2" onclick="Scenario2()" />


function MyClass() {
this.value = "test";
}
MyClass.prototype.function = function(){
alert(this.value);
}


function MySubClass() {
}
MySubClass.prototype = new MyClass();

function Scenario1() {
var myClass = new MyClass();
myClass.function();
}
function Scenario2() {
var mySubClass = new MySubClass();
mySubClass.function();
}

单击任一按钮会导致显示“测试”的警告框。

现在,我要做的是让函数 MyClass 接受一个参数。这适用于直接创建 MyClass 的实例。但是 MySubClass 的实例不起作用。这在概念上是我想要的:

function MyClass(val) {
this.value = val;
}
MyClass.prototype.function = function(){
alert(this.value);
}


function MySubClass(val) {
}
MySubClass.prototype = new MyClass();

function Scenario1() {
var myClass = new MyClass("scenario 1");
myClass.function();
}
function Scenario2() {
var mySubClass = new MySubClass("scenario 2");
mySubClass.function();
}

场景 1 按预期显示“场景 1”。对于场景 2,永远不会设置“值”成员。从我的语法来看,显然是这种情况。

是否有一种语法可以实现我所追求的目标?请注意,对任何解决方案的约束是必须将“函数”添加到 MyClass 原型(prototype),而不是定义为内部函数(例如 this.function=function())

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