草庐IT

prototype-programming

全部标签

javascript - 在原型(prototype)继承中实现实例方法/变量

在阅读http://javascript.crockford.com/prototypal.html之后,我一直在研究原型(prototype)继承。并且在理解如何以使用经典继承的方式使用它时遇到了一些问题。也就是说,原型(prototype)继承的所有函数和变量本质上都变成静态的,除非它们被子对象覆盖。考虑这个片段:varDepot={stockpile:[],loadAmmo:function(ammoType){this.stockpile.push(ammoType);}};varMissileDepot=Object.create(Depot);varGunDepot=Obj

functional-programming - 是否有一个JavaScript库向Array添加缺少的标准迭代方法(过滤器,映射,减少,某些…)?

是否有一个javascript库,它只是添加了一些已经标准化的数组、对象和其他标准对象的方法,但并不是所有浏览器都可以使用这些方法?我在想Array中的iterationmethods,比如filter()、map()、reduce()、some()或keys()中的Object。请注意,我不希望库引入任何花哨的东西;如果当前浏览器中还没有实现“标准”方法,则只引入它们。 最佳答案 我相信你在找Underscore.js。http://documentcloud.github.com/underscore/

javascript - Javascript 中的原型(prototype)

尽管我已经阅读了很多相关内容,但我还是无法理解原型(prototype)概念。为什么会有String和String.prototype?如果我有"cat":是String还是Object?它是否继承了String或String.prototype的所有属性/方法?为什么会有String和String.prototype?我应该将String称为String对象并将String.prototype称为String原型(prototype)吗?请澄清这一点。 最佳答案 我回答这个问题是因为这个主题中有很多错误信息:IsthataStri

私有(private)属性的 Javascript 动态 getter/setter

我想动态地创建getter/setter方法来检索私有(private)属性。这是我做的。首先,我制作了这个类:functionwinClass(posX,posY,w,h){varx=posX||0;vary=posY||0;varwidth=w||0;varheight=h||0;}然后我用getter/setter方法扩展了winClass,如下:winClass.prototype.getX=function(){returnx;}winClass.prototype.setX=function(val){x=val;}然后我测试了:varwin1=newwinClass(10

javascript - 原型(prototype)复制 vs Object.create() vs new

我在使用继承时注意到可以通过三种方式获得相同的结果。有什么区别?functionAnimal(){}Animal.prototype.doThat=function(){document.write("Doingthat");}functionBird(){}//ThismakesdoThat()visibleBird.prototype=Object.create(Animal.prototype);//Solution1//Youcanalsodo://Bird.prototype=newAnimal();//Solution2//Or://Bird.prototype=Anima

javascript - 为什么不应该向 JavaScript 构造函数添加功能,而是通过原型(prototype)添加功能?

我在看AddyOsmani关于构造函数模式的章节:http://addyosmani.com/resources/essentialjsdesignpatterns/book/#constructorpatternjavascript我遇到了以下情况:functionCar(model,year,miles){this.model=model;this.year=year;this.miles=miles;this.toString=function(){returnthis.model+"hasdone"+this.miles+"miles";};}//Usage://Wecancr

Javascript:函数.原型(prototype).方法

我想你们中的大多数人都看过以下代码片段:Function.prototype.method=function(name,func){this.prototype[name]=func;returnthis;};我也知道它会影响所有函数,因为它们都是由Function创建的对象,因此它们可以访问名为“method”的方法,但是我很困惑为什么Function本身也可以像下面这样访问“method”:Function.method('test',function(){return1;}); 最佳答案 Edorka的回答是正确的:函数是它自

javascript - 如何在 JavaScript 中为 Number.toFixed 编写原型(prototype)?

我需要使用JavaScript将小数四舍五入到六位,但我需要考虑旧版浏览器,所以我can'trelyonNumber.toFixedThebigcatchwithtoExponential,toFixed,andtoPrecisionisthattheyarefairlymodernconstructsnotsupportedinMozillauntilFirefoxversion1.5(althoughIEsupportedthemethodssinceversion5.5).Whileit'smostlysafetousethesemethods,olderbrowsersWILL

javascript - 为什么instanceof在原型(prototype)改变后一直说真?

instanceof运算符应该看看原型(prototype),不是吗?为什么在更改对象的原型(prototype)后它不更改答案?示例如下://The.prototypeofobjectscreatedwith'newMyKlass'//isMyKlass.prototypevarMyKlass=function(name,age){this.name=name;this.age=age;}varxx=newMyKlass('xx',20);console.log(xxinstanceofMyKlass);//true,OKxx.prototype=newString('s');con

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;