草庐IT

extending-classes

全部标签

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 - 如何通过将具有相同名称的键的数值加在一起来 $.extend 2 个对象?

我目前有2个obj并使用jquery扩展函数,但是它覆盖了具有相同名称的键的值。我怎样才能将这些值加在一起?varobj1={"orange":2,"apple":1,"grape":1};varobj2={"orange":5,"apple":1,"banana":1};mergedObj=$.extend({},obj1,obj2);varprintObj=typeofJSON!="undefined"?JSON.stringify:function(obj){vararr=[];$.each(obj,function(key,val){varnext=key+":";next+=

javascript - CLASS 中的自定义事件

我需要从CLASS启动自定义事件。我知道用DOM对象和jquery做这个,使用triggerHandler,比如$(object)..triggerHandler("inputChange",{param:X});问题是当我用一个类尝试这个时,像这样:varMyClass=(function(){varstatic_var=1;varMyClass=function(){varprivateVar;varprivateFn=function(){alert('Imprivate!');};this.someProperty=5;this.someFunction=function(){

javascript - 如何检查某些东西是否在 ng-class 的数组中

我想做这样的事情:varlist=[1,2,3,4,5]if(2inlist){returntrue}来自ng-class,所以我尝试了:ng-class="this.idinlist?'class-1':'class-2'">但是没有用,抛出错误SyntaxError:Token'in'isanunexpectedtokenat... 最佳答案 对于数组,您将使用indexOf,而不是用于对象的inif(list.indexOf(this.id)!==-1){...}所以ng-class="{'class-1':list.inde

javascript - 在 TypeScript 中使用箭头函数 : how to make them class methods?

我的编程经验相当丰富,但对TypeScript还很陌生。尝试将它与jQuery一起使用并立即遇到回调的“this”问题(例如$(document).ready。使用$.proxy()是一种方法,但使用TypeScript的箭头(lambda)函数似乎要好得多。但我只看到它们用作表达式——也就是说,整个函数都是内联定义的。我希望能够设置可以作为我的类的方法调用的箭头函数,例如(伪代码):classSomething{constructor(){$('navli').click(this.menuClick);}privatemenuClick(andthiswouldbeanarrowf

javascript - jQuery 选择器 : Selecting a certain combination of classes when multiple exist

我已经尝试做一些研究,但没有找到任何东西,但如果我错过了答案,请告诉我。基本上我有多个元素,每个元素都有多个类,但组合是独一无二的。我想选择特定的类组合,而不是选择具有此元素与其他元素组合的其他元素。我想知道这个选择器是否存在于jQuery中,或者是否有其他方法可以完成我正在解释的内容。请参见下面的示例:/div>当尝试仅记录具有类abc的元素时,我尝试使用:$('.a.b.c').each(function(){console.log($(this));}输出是:[...,......]我正在寻找的输出是:[...]任何指导表示赞赏。谢谢! 最佳答案

javascript - 无法使用 "class"方法在 JavaScript 中进行回调

我在JavaScript中的原型(prototype)上度过了一段非常艰难的时光。以前我无法调用这样的东西:o=newMyClass();setTimeout(o.method,500);有人告诉我可以使用以下方法修复它:setTimeout(function(){o.method();},500);这行得通。我现在遇到了一个不同的问题,我想我可以用同样的方法解决它,只需放入一个匿名函数即可。我的新问题是:MyClass.prototype.open=function(){$.ajax({/*...*/success:this.some_callback,});}MyClass.pro

javascript - 我可以使用 jQuery.extend 来模拟方法重载吗?

我对jQuery非常熟悉。我正在尝试为自己的目的编写通用方法。下面是一个示例:$.extend({add:function(a,b){returna+b;},add:function(a,b,c){returna+b+c;}});上述情况是否可能?我可以使用相同的扩展程序名称并传递不同的参数,例如方法重载吗? 最佳答案 您正在尝试执行某些语言中调用的某种类型的方法重载。JavaScript不支持这种方式。JavaScript非常通用,可以让您以不同的方式实现这种功能。对于您的特定示例,您的add函数,我建议您使用arguments创

javascript - typescript 的/** @class */有目的吗?

我正在学习typescript,我注意到编译后的javascript对每个类都有一个注释,如下所示:/**@class*/例子:varStudent=/**@class*/(function(){functionStudent(firstName,middleInitial,lastName){this.firstName=firstName;this.middleInitial=middleInitial;this.lastName=lastName;this.fullName=firstName+""+middleInitial+""+lastName;}returnStudent