問題タブ [this]

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 投票する
5 に答える
1397 参照

java - CheckstyleのRequireThisチェックを有効にする必要がありますか?

組み込みのCheckstyleチェックの1つはRequireThisですthis.。これは、ローカルフィールドまたはメソッドの呼び出しの前に追加しない場合は常にオフになります。例えば、

このチェックが正当化されるかどうかに苦労しています。上記の例では、ExampleClassはfinalであり、「正しい」バージョンが呼び出されることを保証する必要があります。getMeSomethingさらに、サブクラスでデフォルトの動作をオーバーライドしたい場合があるようです。その場合、「this」を要求するのは間違った動作です。

最後に、ソースを乱雑にし、実際に何が起こっているのかを確認するのをより困難にする、過度に防御的なコーディング動作のようです。

ですから、これを有効にするのは悪いチェックだとアーキテクトに提案する前に、他の誰かがこのチェックを有効にしたかどうか疑問に思っていますか?行方不明の結果として重大なバグを見つけましたthisか?

0 投票する
1 に答える
215 参照

php - 静的クラスの$thisに相当するものはありますか?(一種のスーパーですが、それが使用されている現在のクラス用です)

$ thisと完全に同等ではないことはわかっていますが、クラス自体の名前を使用せずに、それ自体の内部から静的クラスを参照する方法はありますか?(superと同様ですが、それ自体が)これは、クラスの名前が変更された場合に、すべてのクラス参照をリファクタリングする必要がないようにするための方法にすぎません。

例:

0 投票する
2 に答える
390 参照

c++ - 速度の違い:*thisを使用して大きなクラス内でファンクターVSoperator()を分離します

私はc++STLヒープアルゴリズムを使用しており、他のことを実行できるように、その周りにラッパークラスを作成しました。以下のコードを使おうとすると、たとえば次のようになります。

次のような別の関数オブジェクトを使用した場合よりも、wayyyyyの速度が遅くなりました。

なぜなのかわかりません。クラスに大量のデータがあるため、速度低下は*これによるものですか?それは奇妙に思えます。それとも、関数オブジェクトの使用方法と関係がありますか?

0 投票する
2 に答える
146 参照

javascript - javascript では、関数を呼び出さずに、関数がバインドされているオブジェクト (つまり、「this」) をどのように知ることができますか?

誰か知っていますか?かなり基本的なように見えますが、以前に尋ねられたこの質問を見つけることができませんでした。

0 投票する
4 に答える
326 参照

javascript - ここでJavascriptで「これ」と「プロトタイプ」を使用することに違いはありますか?

以下の 2 つのコードに違いはありますか。

0 投票する
1 に答える
438 参照

javascript - XML パーサーに jquery "$(this)" を使用する基本的な JavaScript クラスとインスタンス

Web サイトを駆動する「サイト定義」ファイル用の XML パーサーを (ゆっくりと) 作成しています。要素の多くは同じ方法で解析されるため、必ずしもそれぞれの値を保持する必要はありません。

XML

これまでのパーサー

私の質問は実際には非常に単純です:クラス関数でjqueryマニピュレーターを使用するにはどうすればよいですか? $(this) を渡すにはどうすればよいですか? DOM オブジェクトを参照することもあれば、jQuery オブジェクトを参照することもありますが、少し曖昧です。

私の機能のために:

置きたい

クラスで、次のようなことができます

そして使用しchild.label , child.text and child.keyます...しかし、繰り返しますが、これらでjqueryメソッドを使用する方法がわかりません...処理するノードがさらにあり、次のようなことを続けたくありませんvar label = $(this).get(0).tagName; and then var childLabel = $(this).get(0).tagName;

ありがとう。

0 投票する
2 に答える
144 参照

javascript - 'this'が新しいオブジェクトを参照するように更新されないのはなぜですか?

私は、ユーザーが1つのパズルから次のパズルに進むことができるオンラインゲームを書いています。ユーザーがミスをした場合、各パズルには、ユーザーがそのパズルだけを最初から開始できる[再開]ボタンがあります。コードの構造の簡略化されたバージョンは次のとおりです。

私が抱えている問題は、ユーザーが2番目のパズルに進んだ場合、[最初からやり直す]をクリックすると、2番目のパズルではなく最初のパズルが読み込まれることです。少しデバッグした後、2番目のパズルのメソッドで使用された場合、何らかの理由で最初のパズルへの参照が保持されていることがわかりましたが、「window.thePuzzle」はこれと同じである必要があります--2番目のパズルを正しく参照します。

なぜ「これ」は最初のものを参照し続けるのですか?

さらにコードサンプルが必要な場合はお知らせください

0 投票する
2 に答える
1371 参照

javascript - これ、現在のコンテキスト - jQuery でいつ使用する必要がありますか?

jqueryで「this」[現在のコンテキスト]を使用することについてはよくわかりません。私が知っていることは、domがすべての要素を検索するのを防ぎ、その現在の要素で動作するだけで、パフォーマンスが向上することです[もし私が私は間違っています]。また、いつこれを使用するのか、いつ使用しないのかわかりません。言いましょう、私は行くべきですか

また

どちらも機能しますが、実際にどのように機能するかについてはあまり明確ではありません。誰かが差分/適切な例で説明できますか?いつ何を使用するのですか? [編集]

0 投票する
3 に答える
16317 参照

javascript - addEventListenerとこの範囲

サードパーティのフラッシュオブジェクトがあり、それらが提供するjavascriptAPIを介して操作できます。私はこのオブジェクトのイベントをリッスンしてから、オブジェクト内でイベントを発生させて、イベントをさらにバブルアップしようとしています。私はたまたまEXTJを使用していますが、ここではそれが重要だとは思いません。

サンプルコード

私の問題は、無名関数内の「this」が、イベントを発生させたいオブジェクトではなく、イベントを発生させたオブジェクトを参照していることです。

そのさらに別のスコープの問題。助けてくれてありがとう。

0 投票する
2 に答える
2210 参照

java - リスナー内から外部クラスにアクセスしますか?

クラス A 内にリスナーがあり、クラス A をリスナー内のクラス B に渡したいと考えています。通常はこれを使用しますが、リスナーをトリガーしたイベントを取得します。