草庐IT

Inheritance

全部标签

javascript - 在 Javascript 中扩展原型(prototype) - 好方法?

我想验证在扩展原型(prototype)时我使用的方法是否正确-假设“扩展”是正确的词。这个主题得到了很多克隆。我仍在努力正确理解这个主题...目的是:-编写干净和良好的代码。-避免使用框架,如果可能的话,使用纯Javascript。-获得有关不扭曲JS以获得启用类的行为的干净框架的建议。这是我的沙箱的父级原型(prototype):functionParent(){}Parent.prototype={"init":function(){this.name="anon";},"initWithParameters":function(parameters){this.name=par

javascript - KnockoutJS 通过 ko.utils.extend 继承功能

我正在尝试将功能从父View模型继承到subview模型,如下所示:functionParentVM(){varself=this;self.MyFunc=function(){console.log(self.SomeVar);//thislogs"undefined"}}functionChildVM(){varself=this;ko.utils.extend(self,newParentVM());self.SomeVar="hello";}但是,当MyFunc被调用时,SomeVar是未定义的。 最佳答案 如果有人为此苦苦

javascript - 继承和 TypeScript 错误 : X is not a constructor function type

我有一个父类(superclass),我希望从中继承其他两个类。下面列出了这些类(class)。当我编译时,试图继承的两个类提示父类(superclass)(给出相同的错误):“[类文件路径(在本例中为A)]不是构造函数类型”A.tsexportclassA{//privatefields...constructor(username:string,password:string,firstName:string,lastName:string,accountType:string){//initialisation}}B.tsimportA=require('./A);exportc

使用 "this = "的 Javascript 函数给出 "Invalid left-hand side in assignment"

我试图让一个JavaScript对象使用另一个对象的构造函数的“this”赋值,并假定所有对象的原型(prototype)函数。这是我试图完成的示例:/*Thebase-containsassignmentsto'this',andprototypefunctions*/functionObjX(a,b){this.$a=a;this.$b=b;}ObjX.prototype.getB(){returnthis.$b;}functionObjY(a,b,c){//here'swhatI'mthinkingshouldwork:this=ObjX(a,b*12);/*andby'work

javascript - 调用基类函数——JavaScript中的类继承

请查看以下示例:MyBaseClass=function(a){this.a=a;};$.extend(MyBaseClass.prototype,{init:function(){console.log('Iaminitializingthebaseclass');}});MyChildClass=$.extend(MyBaseClass,{init:function(){MyBaseClass.prototype.init();console.log('Iaminitializingthechildclass');}});var=newMyChildClass();var.init

Javascript继承思想(二)

好吧,我第一次试图解释我在做什么的尝试惨遭失败。我基本上是在复制Crockford的Object.create(),除了私有(private)变量。如果您在此处查看已接受的答案Howtoinheritfromaclassinjavascript?,你会看到Object.create作为最后一个模式,我认为它更符合Javascript的原型(prototype)性质(对象产生对象)而不是模拟经典继承(类产生对象)。如果您查看维基百科关于基于原型(prototype)编程的文章(http://en.wikipedia.org/wiki/Prototype-based_programming

javascript - 在 React.js 中覆盖/扩展 ES7 类的静态属性

ES7引入了static属性和方法定义的概念。与支持ES7的转译器一起,这些canbeusedinReact为props指定验证器和默认值,如下所示:exportdefaultclassComponentOneextendsReact.Component{staticpropTypes={foo:React.PropTypes.string}staticdefaultProps={foo:'bar'}//...}这非常方便,但是当子类发挥作用时会变得棘手。例如,假设将以下模块添加到与上面的ComponentOne相同的代码库中:exportdefaultclassComponentTw

Javascript类继承和所有继承的名称?

我有一个类似Starship->Capital->Omega的继承链,我希望能够从Omega类的对象中检索“Omega”。functionStarship(){}functionCapital(){Starship.call(this);}Capital.prototype=Object.create(Starship.prototype);functionOmega(){Capital.call(this);}Omega.prototype=Object.create(Capital.prototype);varomega=newOmega();omegainstanceofOmeg

javascript - 在 JavaScript 中使用继承模式

根据我的经验,JavaScript会这样做:操纵DOM或其他宿主对象添加事件处理程序做Ajax自从我开始深入研究原型(prototype)继承以来,我想知道它在实践中是如何实际使用的。有哪些用例?这里有人积极使用继承模式吗?有什么用?(我知道我的问题有很多答案-我只是想听听其中的一些来感受一下在JavaScript中使用继承) 最佳答案 我使用jQuery(以及之前的JavaScript)的经验是,原型(prototype)继承并不像我预期的那样有用。它有用途,但对语言来说并不重要。在Javascript中,如果你想返回一个带有方法

javascript - 一种客观的方法来衡量 JavaScript 中不同继承模式的内存/速度?

我经常看到经典(通过某些库伪造)、伪经典和原型(prototype)继承之间的争论提到“效率”。但是,我从未见过任何数据支持此类内容。更不用说“效率”在涉及编码风格而不是算法时似乎是一个模棱两可的词。我想做一些测试来对其中一些模式和库进行“基准测试”。这似乎与我过去见过的大多数算法或显示基准明显不同。你们认为需要测试的重要内容是什么,可靠地获得这些数字的最佳方法是什么。我目前的想法:实例化速度(创建几千个对象的时间使用相同的每个模式功能)内存使用情况(我能想到的唯一方法是查看我在任务管理器...有没有更好的方式)访问内部属性和方法的速度(迭代再次计时)复制速度(迭代时间)代码行数(同行