草庐IT

Prototype

全部标签

javascript - 为什么将属性添加到对象文字的原型(prototype)会更改其 "type"?

所以我有一个简单的isPlainObject方法用于测试JavaScript对象字面量:varisPlainObject=function(obj){returntypeofobj==="object"&&{}.toString.call(obj)==="[objectObject]";};现在我有一个简单的对象:varobj={'one':1,'two':2,'three':3};当我通过isPlainObject(obj)函数运行它时,它按预期工作并返回true。我的问题来自向对象的原型(prototype)添加一个属性:obj.constructor.prototype.four

javascript - `this` 是如何从经典的 Javascript 原型(prototype)制作方法中工作的

我正在学习使用Javascript进行面向对象编程。我从这里得到了这个视频类(class)http://www.objectplayground.com/相对于经典方法,我更了解原型(prototype)方法。在观看类(class)时,我被下面显示的用于处理子类的经典方法的示例暂停了://superclassfunctionAnswer(value){this._val=value;}//defineprototypeproperty'get'forthesuperclassAnswer.prototype.get=functionfn1(){returnthis._val;}//su

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

没有引用 DOM 元素的 Javascript/Prototype : Get css values,?

是否可以通过在CSS文件中定义的类名(例如类的宽度)检索样式属性,而不必从DOM中的实际元素中获取它? 最佳答案 是的。查看document.styleSheets属性。https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheetshttp://www.quirksmode.org/dom/tests/stylesheets.html 关于没有引用DOM元素的Javascript/Prototype:Getcss

javascript - 扩展 Google Maps API v3 类的最佳方式

可以扩展GoogleMapsAPIv3中的许多类,特别是google.maps.MVCObject和google.maps.OverlayView.在一些例子中,他们会在回调函数initMap中扩展一个类。我的应用程序比那些示例更健壮,并且不希望在回调函数中定义一堆类。(A)的解决方案是在我自己的脚本之前包含GoogleMapsAPI并且不包含回调函数吗?或者(B)我是否只在回调函数中定义所有内容?或者(C)一些其他方法。选项A选项BinitMap在main.js中,看起来像这样:functioninitMap(){classAlphaextendsgoogle.maps.MVCObj

javascript - 在 JavaScript 中使用继承模式

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

javascript - 如何让实例从原型(prototype)函数中删除自身是 JavaScript

如果我有一个JavaScript构造函数,并且我在它的原型(prototype)上设置了一个destroy方法。是否可以从destroy方法中删除(或至少取消设置)实例?这是我正在尝试做的一个例子。Klass.prototype={init:function(){//dostuff},destroy:function(){//deletetheinstance}};k=newKlassk.destroy()console.log(k)//Iwantthistobeundefined我知道我不能简单地使用destroy方法来执行this=undefined,但我认为我可以通过像这样使用超

javascript - 覆盖原型(prototype)属性或函数

functionNinja(){this.swingSword=function(){returntrue;};}//Shouldreturnfalse,butwillbeoverriddenNinja.prototype.swingSword=function(){returnfalse;};varninja=newNinja();log(ninja.swingSword(),"Callingtheinstancemethod,nottheprototypemethod.");现在日志显示我是真的。这意味着Ninja.prototype中定义的swingSword已被覆盖,所以我如何

javascript - 交响乐 2 : How to handle nested collections in forms

我正在尝试创建一个包含嵌套集合的表单。我不知道如何处理JS部分来显示子集合。有人知道我该怎么做吗?这是我的表单代码:classParentFormTypeextendsAbstractType{publicfunctionbuildForm(FormBuilderInterface$builder,array$options){$builder->add('case','choice',array('choices'=>array('case1'=>'case1','case2'=>'case2','case3'=>'case3',)))->add('subForm1','collec

javascript - Getter/Setter 和原型(prototype)链

这个问题在这里已经有了答案:Overrideasetter,andthegettermustalsobeoverridden(1个回答)关闭3年前。在当前使用ES6类语法和get/set语法的JavaScript项目中,我偶然发现了一个我无法解释的行为。首先,一个按预期工作的提取演示:classA{constructor(){this.__value=null;}getvalue(){returnthis.__value;}setvalue(value){this.__value=value;}}classBextendsA{}letb=newB();b.value=2;console