草庐IT

继承权

全部标签

Javascript console.log 不显示派生类名称 - 继承 - 类

我正在玩ECMAScript6类。我还是不明白为什么会出现下面的代码:"usestrict";classA{}classBextendsA{}letb=newB();console.log(b);显示:一个{}代替:B{}实例:(function(){"usestrict";classA{}classBextendsA{foo(){}}letb=newB();console.log(b);})();Opentheconsole.Worksonlyonveryup-to-datebrowsers(suchasChrome43+).如何在console.log上获得预期的逻辑输出B{}?我

javascript - javascript中的递归原型(prototype)继承?

Object.create=function(o){functionF(){}F.prototype=o;returnnewF();};来自PrototypalInheritanceinJavaScript一段时间以来,我一直在使用这段代码来创建继承自先前对象的新对象。然而,我遇到了一个小惊喜。a={foo:[1,2,3]}b=Object.create(a);//b.foo->[1,2,3]b.foo="test";//b.foo->"test"//a.foo->[1,2,3]c=Object.create(a);//c.foo->[1,2,3]c.foo[0]='test';//c

javascript - Object.create 与直接原型(prototype)继承

我一直在研究EcmaScript5规范中的Object.create,我正在尝试创建一个多重继承类型结构。假设我有几个函数:a、b和c。只处理原型(prototype),我可以这样做:functiona(){}a.prototype={fnA=function(){},propA=500};functionb(){}b.prototype=a.prototype;b.prototype.fnB=function(){};b.prototype.propB=300;functionc(){}c.prototype=b.prototype;c.prototype.fnC=function(

javascript - ES6 模块和继承

我有以下JavaScript文件:src/js/classes/Lexus.js:import{Car}from'src/js/classes/Car';exportclassLexusextendsCar{constructor(){super("Lexus");}}src/js/classes/Mercedes.js:import{Car}from'src/js/classes/Car';exportclassMercedesextendsCar{constructor(){super("Mercedes");}}src/js/classes/Car.js:import{Lexus

javascript - 为什么继承Array在ES5中很难实现?

在ES5中使用原型(prototype)继承,从Array继承并获得预期的行为看起来并不简单,比如在将项目添加到Array时自动更新.length(见下面的代码)。ES5创建派生函数对象(MyArray),然后将基类型传递给它进行初始化,为什么这个模型很难在这个模型中获得预期的行为?ES6改变了基础构造函数中的行为和创建对象,然后派生类的构造函数对其进行初始化(在调用super()之后),想知道为什么这样解决了问题。functionMyArray(){}MyArray.prototype=Object.create(Array.prototype);varmyArr=newMyArra

javascript - JS Revealing prototype 模式中如何实现继承?

如何继承/扩展使用揭示原型(prototype)模式的类​​?有没有办法使private变量和函数protected?示例基础对象:myNameSpace.Person=function(){this.name="";this.id=0;};myNameSpace.Person.prototype=function(){varfoo=function(){//sampleprivatefunction};varloadFromJSON=function(p_jsonObject){...};vartoJSON=function(){...};varclone=function(p_ot

javascript - 如何检查一个类是否继承了另一个类?

我正在使用Ext4...如何判断一个类是否继承了另一个类?例如:Ext.define("A",{});Ext.define("B",{extend:"A"});Ext.define("C",{extend:"B"});vara=Ext.create("A");varc=Ext.create("C");我需要这样的东西:c实例???谢谢 最佳答案 (基于@troelskn的评论)http://jsfiddle.net/miriam/ugQHB/cinstanceofA返回真。 关于java

javascript - javascript中的继承, "parent"中的变量

我是第一次做OOjavascript。我已经阅读了有关继承和原型(prototype)的内容,并认为我已经破解了它。直到我发现了这个小例子。functionTestObject(data){this.test_array=[];this.clone_array=[];this.dosomestuff=function(){for(vari=0;i如果我执行以下操作:varfoo=newTestObject2([1,2,3,4]);foo.dothings();varbar=newTestObject2([4,5,6]);bar.dothings();我希望控制台显示:TestingOb

javascript - 通过 Javascript 继承 CSS 值

在我的页面上,我正在通过javascript更改一些css样式。当我尝试提取一个已继承的值时-它出现空白。请考虑以下事项:.Sliding{display:none;overflow:hidden;}.Sliding#FilterBox{height:185px;background-color:Fuchsia;}和html:TestFormThisisatest/12345如果我查看元素“document.getElementById(objname).style.display”,它是空白的吗?如何通过javascript读取显示值? 最佳答案

javascript - TypeScript - 如何继承类和覆盖 lambda 方法

我有一个继承类,需要父类有一个虚方法,在子类中重写。这个方法是从基础构造函数调用的,需要访问实例属性,所以它需要是一个lambda函数,所以“this”是“_this”。问题是,覆盖lambda方法对我来说不像覆盖非lambda方法那样有效。这可能吗?如果不是,我想了解原因。此外,当仅从构造函数调用该方法时,“this”是否始终与“_this”相同?classBase{protectedprop=null;constructor(){this.init();this.initLambda();}init(){console.log("Baseinit");}initLambda=()=