草庐IT

原型和原型链

全部标签

javascript - 使用原型(prototype)/"new"的继承

这个问题在这里已经有了答案:Whywouldn'tIuseChild.prototype=Parent.PrototyperatherthanChild.prototype=newParent();forJavascriptinheritance?(3个答案)关闭7年前。大家好,我是JavascriptOO的新手,想了解更多关于继承的知识。希望大家多多指教!我看到这篇很棒的帖子:Howto"properly"createacustomobjectinJavaScript?它讨论了我在其他网站上看到的类是如何继承的,例如:functionman(x){this.x=x;this.y=2;

javascript hasOwnProperty 和原型(prototype)

functionAnimal(name,numLegs){this.name=name;this.numLegs=numLegs}Animal.prototype.sayName=function(){console.log("Himynameis"+this.name);}varpenguin=newAnimal("CaptainCook",2);penguin.sayName();for(varpropinpenguin){console.log(prop);}penguin.hasOwnProperty('sayName')结果:namenumLegssayName=>false

javascript - 将原型(prototype)附加到 JavaScript 对象

假设我有以下带有人员对象的JSON。[{"name":"Alice","age":28,},{"name":"Bob","age":33}]如果我解析它,我将得到一个包含两个JavaScript对象的数组。比方说,我想为这两个对象配备一个名为introduce的方法,它会做类似这样的事情functionintroduce(){return"Mynameis"+this.name+"andIam"+this.age+"yearsold.";}现在,我可以遍历我的两个人并调用person.constructor.prototype.introduce=introduce但是,这将在所有Ja

javascript - Rebol 真的有 javascript 原型(prototype)属性的等价物吗?

Gregogy在这里发表了一篇关于rebol和javascript的文章http://blog.revolucent.net/2009/05/javascript-rebol.html但是随着我深入比较javascript和rebol,我看不出什么是javascript原型(prototype)的rebol等价物。因为在rebol中使用make从另一个对象实例扩展对象实例并不完全像javascript原型(prototype)属性,因为js原型(prototype)允许一次扩展所有实例。我是不是弄错了,或者是否有与下面的rebol代码等效的代码:functionPerson(first

javascript - 在构造函数*内部*分配原型(prototype)方法——为什么不呢?

在风格上,我更喜欢这种结构:varFilter=function(category,value){this.category=category;this.value=value;//productisaJSONobjectFilter.prototype.checkProduct=function(product){//runsomechecksreturnis_match;}};对于这个结构:varFilter=function(category,value){this.category=category;this.value=value;};//varFilter=function

Javascript:哪些浏览器支持原型(prototype)继承?

目前我没有使用原型(prototype),因为我记得有一天我读了一篇文章,其中指出IE7及以下版本不支持原型(prototype),但我找不到那篇文章了,但是通过最好知道它是如何得到整体支持的。 最佳答案 JScript(微软对Javascript的解释)从2.0版开始就支持原型(prototype)属性(MSDN)。支持JScript2.0的第一个InternetExplorer版本是IE3(MSDN)。我会说你用IE7是安全的!编辑:也许您正在考虑修改宿主对象的原型(prototype),例如Node。这确实不受IE>=7的支持

javascript - 如何禁用原型(prototype)中的输入元素?

使用Prototype,据说Form.Element.disable禁用了整个表单。有没有办法一次只禁用一个输入元素?当我尝试这个时:$$('#signup.button')[0].disbled=false;##didn'twork已更新对不起大家。实际上它有效。但是我定义了一个禁用的样式在样式表中,但未应用样式。有什么解决方法吗? 最佳答案 您需要禁用方法。http://prototypejs.org/doc/latest/dom/Form/Element/disable/index.html例如:$(id).disable()

javascript - 我可以在 javascript 中获取原型(prototype)的所有实例吗?

获取一个对象的原型(prototype)很容易,但是有没有办法获取所有具有特定原型(prototype)的实例呢?像这样:varallAnimals=Animal.prototype.getInstances();可以编写自定义代码来跟踪实例化对象,但我对是否有任何内置方法感兴趣。 最佳答案 你可以试试这样的东西functionA(f){this.field=f;A.instances.push(this);}A.instances=[];所以之后varone=newA(10),two=newA('123');在A.instance

javascript - 覆盖对象原型(prototype)并不允许任何进一步的覆盖

我正在尝试编写一个库来拦截所有XMLHttpRequest调用并在最终发送请求之前做一些事情,方法是覆盖其原型(prototype),例如:varoriginal_open=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){//myownoverridelogicherebeforerunningtheoriginalfunctionoriginal_open.apply(this,arguments);};问题是,我想保证当有人使用这个库时,网页上的任何其他代码都不可能重新覆盖这个效果。因为否

使用原型(prototype)时的 Javascript 继承问题 - 实例被覆盖 :(

我是JavaScript编程的新手,我对继承有点噩梦。我正在为AppceleratorTitanium编写一些代码,我有一个名为Slide2D的基类,我希望从中继承它。所以我在Slide2D的原型(prototype)中放置了一些函数。这些通常不会被覆盖,但会从Slide2D派生的类中调用。这些函数也将从程序的其他部分调用。还有各种事件处理程序用于管理Titanium中的动画。如果我在一些调用代码中制作了几个这样的幻灯片(使用new)vars=newSlide2D('slide1','background1.png',etc......vart=newSlide2D('slide2',