草庐IT

Javascript Prototype Chaining父类(super class)构造函数和方法调用

我是JavaScript世界的新手,在尝试原型(prototype)链继承时遇到了这个奇怪的问题。我有3个类(class)//classparentfunctionparent(param_1){this.param=param_1;this.getObjWithParam=function(val){console.log("valueinparentclass"+val);console.log("Constructorparameter:"+this.param);};};//classchildfunctionchild(param_1){this.constructor(pa

javascript - 你如何在 JavaScript 中进行继承而不在子类的所有实例之间共享父类(super class)的同一个实例?

我注意到每个关于如何进行JavaScript继承的教程都是这样做的:SubClass.prototype=newSuperClass();但这将创建父类(superclass)的单个实例并在子类的所有实例之间共享它。问题是我想将参数传递给父类(superclass)构造函数,这些构造函数源自传递给子类的参数。在Java中,这将像这样完成:classSubClassextendsSuperClass{publicSubClass(Strings){super(s);}}我试过这样做:functionSubClass(args){this.constructor.prototype=new

javascript - 如何访问子类中 getter 的父类(super class)值?

在派生类中访问getter的super值似乎不起作用:classFoo{private_message:string="Hello,";publicgetMessage():string{returnthis._message;}}classBarextendsFoo{publicgetMessage():string{returnsuper.Message+"World";}}varsnafu:Bar=newBar();document.write(snafu.Message);//Expected:"Hello,World"//Actual:"undefinedWorld"如何正确

javascript - 如何在 Aurelia 的父类中注入(inject)?

我有一个父类,我想在其中注入(inject)一些模块,然后我有一些派生类,我想在其中使用这些注入(inject)的模块。但是在派生类中你必须调用不带参数的super(),所以父类中的注入(inject)模块是未定义的。这是怎么做到的?import{inject}from'aurelia-framework';import{HttpClient}from'aurelia-http-client';@inject(HttpClient)exportclassParent{constructor(module){//thisconstructoriscalledfromderivedclas

javascript - 如何在 React 中重写父类方法?

我正在扩展一个基类并覆盖基类中的一个方法。但是当我调用它时,它调用的是父类(superclass)版本。如何覆盖该方法?varHello=React.createClass({getName:function(){return"super"},render:function(){returnThisis:{this.getName()};}});classHelloChildextendsHello{constructor(props){super(props);console.log(this.getName());}getName(){return"Child";}};我想让它打印

javascript - 从子类调用父类(super class)方法 - JavaScript

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:setattributewithjavascriptsupermethod为了好玩,我正在尝试用HTML5创建一个简单的游戏。我有一个Entity类,它应该是Player类的父类(superclass)。functionEntity(x,y){this.x=x;this.y=y;this.tick=function(){//Dogenericstuff}}functionPlayer(x,y){this.parent.constructor.call(this,x,y);this.tick=function(

javascript - 从 jQuery 回调中引用 CoffeeScript 中的父类

我是CoffeScript的新手,我想知道是否有一种方法可以在不引用全局变量app的情况下编写以下代码:classAppconstructor:->@ui=ui.init()$('#content-holdera[rel!=dialog]').live'click',->link=$(@).attr'href'app.loadUrllinkreturnfalseloadUrl:(href)->#...app=newApp()使用粗箭头不起作用,因为那样我就失去了对jQuery对象的引用,即classAppconstructor:->@ui=ui.init()$('#content-ho

javascript - 在 Backbone.js 中,如何让模型父类(super class)默认值充当子类的默认值?

我有一个定义了一些默认值的类和一个定义了一些默认值的子类。但是当我创建子类的实例时,它只查看本地默认值,不会将其默认值与父类的默认值合并。有什么简单的方法可以做到这一点,而无需在每个子类的initialize函数中显式地将本地默认值与父默认值合并?varInventory=Backbone.Model.extend({defaults:{cat:3,dog:5}});varExtendedInventory=Inventory.extend({defaults:{rabbit:25}});varei=newExtendedInventory({});console.log(ei.att

javascript - JQuery - 扩展和访问父类(super class)

在使用$.extend扩展对象时有没有办法访问super对象?我想扩展一个对象,覆盖一个方法,但是在子类方法中调用被覆盖的父类(superclass)方法。 最佳答案 不,因为没有父类(superclass)。根据jQuery.extend的文档:Description:Mergethecontentsoftwoormoreobjectstogetherintothefirstobject.为了调用“父类(superclass)”方法,您必须在某处保留“父类(superclass)”的副本(可能作为“后代”对象中的参数),并直接在“

go - 在父类(super class)的子类上找不到接口(interface)方法

这个问题在这里已经有了答案:isitpossibletocalloverriddenmethodfromparentstructinGolang?(6个答案)关闭6年前。鉴于此代码...typeBaseItf1interface{getName()stringclone()*BaseStruct}typeBaseStructstruct{BaseItf1}func(bs*BaseStruct)cloneAndGetName()string{sc:=bs.clone()returnsc.getName()}typeSubClassstruct{BaseStruct}func(sc*Sub