问题标签 [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.

0 投票
3 回答
1668 浏览

ruby - 在Ruby中有没有相关的语法应用:class << self ... end

上面的语法用于定义类实例变量。但是当我考虑语法意味着什么时,它对我来说没有任何意义,所以我想知道这种语法是否用于任何其他类型的定义。我在这里的困惑点是:

附加运算符通常意味着“将右侧的内容添加到左侧的对象”。但是在这个块的上下文中,这怎么加起来就是“把这个块的内容放入类实例而不是实例的定义中”?

出于同样的原因,我很困惑为什么在一个上下文中 class << self 可以定义类实例变量,而在另一个上下文中它似乎创建了类变量,例如:

0 投票
18 回答
334791 浏览

objective-c - 类方法和实例方法有什么区别?

类方法和实例方法有什么区别?

实例方法是访问器(getter 和 setter),而类方法几乎是其他一切?

0 投票
1 回答
177 浏览

.net - Fluent Interfaces - 正在创建的对象的数量

我正在为我正在玩的一些简单的验证内容创建一些流畅的界面。我注意到的一件事是我创建了很多不同的对象。

例如给出以下陈述:

对于每个“。” (接受最后一个)我正在更新一个对象。如果我在这里没有使用流畅的界面,我只会使用静态方法。

我想知道的是,如果有人知道在使用这个数量的实例对象(注意它们是非常小的对象)作为使用静态方法时会注意到性能上的任何真正差异。

干杯安东尼

0 投票
1 回答
345 浏览

ruby-on-rails - 使用 ActiveScaffold 设置实例变量

我最近将 ActiveScaffold 添加到现有 Rails 项目中,我遇到的问题是 ActiveScaffold 使用的变量名称与我已有的不同。我希望能够在控制器中设置实例变量,而不是遍历整个应用程序并更改所有实例变量名称。问题是@recordand@records不能被调用before_filters,即使before_filter是在active_scaffold调用之后。通过插件查看,我发现ActiveScaffold::Actions模块内部没有明显的钩子。我在想:

  1. 有这样的钩子吗?
  2. 如果没有,我应该如何放入一个?
0 投票
3 回答
2586 浏览

objective-c - Objective-C 中的 SELF 关键字

在我正在创建的项目中,我有各种课程。我的一个类有一个 NSMutableArray 的实例,它包含我的另一个类的对象。我以为我对这个话题有一个深刻的理解,但不知怎的,它又在我脑海里乱七八糟了。

当初始化这个类的一个实例时,我有这个 initilize 方法:

稍后,在创建此类的实例后,我可以将对象添加到 NSMutableArray“dotArray”。这是那个方法。

(我知道,它很简单)我想知道,当我在此方法中使用“dotArray”时,我正在访问调用此方法的类的实例的 dotArray 对象,对吗?还是我也应该在这里使用 self 关键字?

老实说,我不太确定。我相信是前者,但我不确定为什么。而且在这个方法中不需要使用self关键字,为什么我必须在初始化器中使用它来访问对象呢?

0 投票
5 回答
5723 浏览

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?

0 投票
1 回答
4591 浏览

dto - DTO 可以有返回派生值的实例方法吗?

DTO 是否可以接受基于 DTO 数据返回派生值的实例方法?或者 DTO 应该是没有其他方法(除了 getter/setter)的纯数据容器吗?

我内心的纯粹主义者说,业务逻辑要潜入这种方法是非常容易的。但是,如果(例如)一个 DTO 在应用程序层之间共享,那么在 DTO 上使用此类方法可能存在争议。

您对此有何看法?有没有可以接受的情况,或者应该避免这种事情?为什么/为什么不?

0 投票
2 回答
3747 浏览

javascript - 引用带有井号/井号的 javascript 实例方法

这个问题类似于为什么 Ruby 文档中的方法前面有井号?

我理解为什么在 Ruby 实例方法中以井号开头,有助于区分谈论SomeClass#someMethodSomeObject.someMethod允许rdoc工作。而且我知道 PrototypeJS 的作者很欣赏 Ruby(有充分的理由),因此他们在文档中使用了井号约定

我的问题是:这是 JavaScript 开发人员的标准做法,还是只是原型开发人员这样做?

换一种方式问,我是否可以将评论/文档中的实例方法称为SomeClass#someMethod? 或者我的文档应该参考“SomeClass.someMethod”?

0 投票
2 回答
814 浏览

c# - 静还是不静

我真的很喜欢使用静态方法(尤其是对于助手类)。但是由于静态方法不是可存根的,最终它们是一种不好的做法,不是吗?所以我必须在静态方法的使用便利性和可测试性之间做出选择。有没有妥协?

0 投票
3 回答
3636 浏览

ruby - Ruby 模块和扩展自我

代码在什么情况下:

使用起来更有益,比如:

在顶部,一个是扩展的实例方法,而后者只是一个类方法,但是在调用任一方法时,您都必须 M.greet ,对吗?我只是好奇是否有人可以阐明何时使用一种代码而不是另一种代码。谢谢!