gpt4 book ai didi

Javascript 闭包和继承

转载 作者:行者123 更新时间:2023-11-30 10:40:00 26 4
gpt4 key购买 nike

我有两个文件:BaseClass.js 和 DerivedClass.js。内容如下

//---------------------BaseClass.js----------------------------

(function () {
BaseClass= function() { };
BaseClass.prototype.getTestVar = function() {
return 'base test variable';
};
})();


//----------------DerivedClass.js----------------------------

(function () {
DerivedClass= function() { };
DerivedClass.inherits(BaseClass);
DerivedClass.prototype = new BaseClass();
DerivedClass.prototype = {
newvar : 'derived func variable ',
getNewVar : function() { return this.newvar; }
};
})();

在我的 html 文件“test.html”中,我有以下内容

var dc = new DerivedClass();
alert(
'The value in newvar of derived class ' + dc.getNewVar() +
' base class variable ' + dc.getTestVar()
);

我收到 Javascript 错误,指出 dc.getTestVar() 不是一个函数。非常感谢任何解决此问题的帮助。

最佳答案

此时:

DerivedClass.prototype = new BaseClass();
DerivedClass.prototype = {
newvar : 'derived func variable ',
getNewVar : function() { return this.newvar; }
};

您首先将原型(prototype)设置为 BaseClass,然后用新对象覆盖它。试试这个:

DerivedClass.prototype = new BaseClass();
DerivedClass.prototype.newvar = 'derived func variable ';
DerivedClass.prototype.getNewVar = function() { return this.newvar; };

关于Javascript 闭包和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597398/

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