问题标签 [instance-methods]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 在Ruby中有没有相关的语法应用:class << self ... end
上面的语法用于定义类实例变量。但是当我考虑语法意味着什么时,它对我来说没有任何意义,所以我想知道这种语法是否用于任何其他类型的定义。我在这里的困惑点是:
附加运算符通常意味着“将右侧的内容添加到左侧的对象”。但是在这个块的上下文中,这怎么加起来就是“把这个块的内容放入类实例而不是实例的定义中”?
出于同样的原因,我很困惑为什么在一个上下文中 class << self 可以定义类实例变量,而在另一个上下文中它似乎创建了类变量,例如:
objective-c - 类方法和实例方法有什么区别?
类方法和实例方法有什么区别?
实例方法是访问器(getter 和 setter),而类方法几乎是其他一切?
.net - Fluent Interfaces - 正在创建的对象的数量
我正在为我正在玩的一些简单的验证内容创建一些流畅的界面。我注意到的一件事是我创建了很多不同的对象。
例如给出以下陈述:
对于每个“。” (接受最后一个)我正在更新一个对象。如果我在这里没有使用流畅的界面,我只会使用静态方法。
我想知道的是,如果有人知道在使用这个数量的实例对象(注意它们是非常小的对象)作为使用静态方法时会注意到性能上的任何真正差异。
干杯安东尼
ruby-on-rails - 使用 ActiveScaffold 设置实例变量
我最近将 ActiveScaffold 添加到现有 Rails 项目中,我遇到的问题是 ActiveScaffold 使用的变量名称与我已有的不同。我希望能够在控制器中设置实例变量,而不是遍历整个应用程序并更改所有实例变量名称。问题是@record
and@records
不能被调用before_filters
,即使before_filter
是在active_scaffold
调用之后。通过插件查看,我发现ActiveScaffold::Actions
模块内部没有明显的钩子。我在想:
- 有这样的钩子吗?
- 如果没有,我应该如何放入一个?
objective-c - Objective-C 中的 SELF 关键字
在我正在创建的项目中,我有各种课程。我的一个类有一个 NSMutableArray 的实例,它包含我的另一个类的对象。我以为我对这个话题有一个深刻的理解,但不知怎的,它又在我脑海里乱七八糟了。
当初始化这个类的一个实例时,我有这个 initilize 方法:
稍后,在创建此类的实例后,我可以将对象添加到 NSMutableArray“dotArray”。这是那个方法。
(我知道,它很简单)我想知道,当我在此方法中使用“dotArray”时,我正在访问调用此方法的类的实例的 dotArray 对象,对吗?还是我也应该在这里使用 self 关键字?
老实说,我不太确定。我相信是前者,但我不确定为什么。而且在这个方法中不需要使用self关键字,为什么我必须在初始化器中使用它来访问对象呢?
c++ - Static variables in instance methods
Let's say I have this program:
(Of course this example makes no sense since I'd obviously declare "counter" as a private attribute, but it's just to illustrate the problem).
I'd like to know how C++ behaves in this kind of situation: will the variable "counter" in the bar() method be the same for every instance?
dto - DTO 可以有返回派生值的实例方法吗?
DTO 是否可以接受基于 DTO 数据返回派生值的实例方法?或者 DTO 应该是没有其他方法(除了 getter/setter)的纯数据容器吗?
我内心的纯粹主义者说,业务逻辑要潜入这种方法是非常容易的。但是,如果(例如)一个 DTO 在应用程序层之间共享,那么在 DTO 上使用此类方法可能存在争议。
您对此有何看法?有没有可以接受的情况,或者应该避免这种事情?为什么/为什么不?
javascript - 引用带有井号/井号的 javascript 实例方法
这个问题类似于为什么 Ruby 文档中的方法前面有井号?
我理解为什么在 Ruby 实例方法中以井号开头,有助于区分谈论SomeClass#someMethod
和SomeObject.someMethod
允许rdoc
工作。而且我知道 PrototypeJS 的作者很欣赏 Ruby(有充分的理由),因此他们在文档中使用了井号约定。
我的问题是:这是 JavaScript 开发人员的标准做法,还是只是原型开发人员这样做?
换一种方式问,我是否可以将评论/文档中的实例方法称为SomeClass#someMethod
? 或者我的文档应该参考“SomeClass.someMethod”?
c# - 静还是不静
我真的很喜欢使用静态方法(尤其是对于助手类)。但是由于静态方法不是可存根的,最终它们是一种不好的做法,不是吗?所以我必须在静态方法的使用便利性和可测试性之间做出选择。有没有妥协?
ruby - Ruby 模块和扩展自我
代码在什么情况下:
使用起来更有益,比如:
在顶部,一个是扩展的实例方法,而后者只是一个类方法,但是在调用任一方法时,您都必须 M.greet ,对吗?我只是好奇是否有人可以阐明何时使用一种代码而不是另一种代码。谢谢!