草庐IT

javascript - javascript 中的 getter 和 setter

我从javascript开始,特别是OOP模式。我的问题很简单。在setter中,有没有办法让参数和私有(private)类变量保持相同的名称?我到处都看过,但找不到任何人提到它,只是有不同var名称的例子。我对我的代码非常挑剔,我不得不给它起两个不同的名字。以http://ejohn.org/blog/javascript-getters-and-setters/为例functionField(val){this.value=val;}Field.prototype={getvalue(){returnthis._value;},setvalue(val){this._value=v

javascript - 依赖注入(inject)与托管依赖与全局对象

我在Javascript+BackboneJS(一个MVC框架)+RequireJS框架中工作,但这个问题有点面向对象。首先让我解释一下,在Backbone中,您的View是传统View和Controller的混合体,而您的HTML模板是传统的MVCView我已经为此绞尽脑汁一段时间了,我不确定正确/务实的方法应该是什么。我有一个用户对象,其中包含许多代码所依赖的用户首选项(例如单位系统、语言选择等)。我的一些View在不使用模板的情况下完成大部分工作(通过使用第3方库,如映射和图形库),因此它们依赖于用户对象来处理单位转换,因为例子。我目前正在使用RequireJS来管理该依赖关系,

javascript - Coffeescript:动态创建调用方法的类的实例

我正在使用面向对象的coffeescript构建Node.js应用程序。我有一个父类(superclass),它有一个静态方法,例如:classRedisObject@find:(id,cb)->client.HGETALL"#{@className()}|#{id}",(err,obj)=>unlesserrcb(newRedisObject(obj,false))有一个像这样的子类classUserextendsRedisObject当我在User类上调用find()时,我希望它传递User的实例而不是RedisObject到回调函数。我试图通过获取调用该方法的实际类的类名来实现这

javascript - 在其中一个原型(prototype)函数中调用 JavaScript 对象的构造函数是否正确?

我正在审查一位同事的JavaScript代码,他写了一个对象原型(prototype)函数,我认为它不符合面向对象编程的原则。Game.prototype.reset=function(){if(game.over){game.over=false;game=newGame(players);}}下面几行,游戏变量被声明为全局变量。vargame=newGame(players);那么,从其构造函数之一创建一个新的Game对象是否正确?代码完美运行。谢谢! 最佳答案 他不应该在原型(prototype)方法中引用变量game,因为g

JavaScript 可链接方法困境

我有2个方法想用作可链接的方法。可以链接其他方法以进一步修改文本。left从左边返回X个字符。right从右边返回X个字符。目前我可以这样做:vartxt="hello";S$(txt).left(4).right(2).val//returns"ll"我想做的就是这个。基本上我想在最后一个链接方法之后返回结果而不必调用属性。这可能吗?vartxt="hello";S$(txt).left(4).right(2)//returns"ll"主要代码如下:(function(global){varjInit=function(text){this.text=text;this.val=te

Javascript:我应该隐藏我的实现吗?

作为一名C#程序员,我有点习惯将可以而且应该私有(private)的东西设为私有(private),当JS类型向我公开其所有私有(private)部分时,我总是会有一种奇怪的感觉(这种感觉不是'引起')。假设我有一个具有draw方法的类型,该方法在内部调用drawBackground和drawForeground,单独调用它们毫无意义。我应该如何实现?选项1Foo=function(){this.draw();};Foo.prototype.draw=function(){this.drawBackground();this.drawForeground();};Foo.prototy

javascript - OO JS 的好例子?

任何人都可以指出一些现实世界中面向对象的javascript的正确方向吗?我正在从几本书中学习面向JavaScript的OO,但这些书中给出的所有示例都归结为从动物原型(prototype)或类似对象继承的狗对象。我真的很想看到更实质性的东西。我看过jQuery和类似的库(基础库、原型(prototype)库),但我认为它们是冗长的示例。我一直在寻找一个脚本,我可以在其中清楚地看到正在使用的继承(经典的或原型(prototype)的)。 最佳答案 学习OOjavascript的良好“真实世界”示例就是实际学习那里的一些javascr

javascript - JavaScript 中的原型(prototype)

在JavaScript中,您可以用多种不同的方式做同样的事情。考虑示例:1:functionCircle(radius){return{"r":radius,"area":function(){returnCircle.pi*this.r*this.r;}}}Circle.pi=3.14159;vara=Circle(10);alert(a.area());2:functionCircle(radius){this.r=radius;}Circle.pi=3.14159;Circle.prototype.area=function(){returnCircle.pi*this.r*th

javascript - 如何从 JavaScript 中同一对象中的另一个方法调用方法?

我刚刚开始使用OOjavascript,所以请多多包涵。这个有效:varmyObj={foo:function(){alert('hello');this.bar();},bar:function(){alert('world');}}但是,如果我在“foo”方法中的hello警报之后做了一些其他事情,那么“this”的含义将从对象变为我上次选择的任何内容,因此使用this.bar()不执行类中的其他方法。所以我尝试将“this”缓存在一个变量中,如下所示:varmyObj={publicVars:{theObj:this},foo:function(){alert('hello');

javascript - 如何使用 JavaScript 对象文字进行继承?

您好,我在使用对象字面量语法声明对象原型(prototype)时遇到继承问题。我做了两个Fiddles来帮你帮我。Fiddle1,ThisoneworksFiddle2,Thisonedoesn'twork这是我的基类,在我的应用程序中几乎所有的对象都是这样定义的:Base=function(param){this.init(param);}Base.prototype={init:function(param){this.param=param;},calc:function(){varresult=this.param*10;document.write("Resultfromca