問題タブ [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.
c# - 「this」キーワードはいつ使用しますか。
他の人がこのキーワードをどのように使用しているかに興味がありました。私はコンストラクターで使用する傾向がありますが、他のメソッドのクラス全体で使用することもあります。いくつかの例:
コンストラクターで:
他の場所
java - コンストラクターでメソッド呼び出しのパラメーターとして「this」を使用する
次のようなコンストラクタがあります。
メソッド呼び出しでヌル ポインター例外が発生しています。setTopWorldAgent メソッドの引数として「this」を使用しているためと思われます。このメソッド呼び出しを削除すると、すべてが正常に表示されます。なぜこれが起こるのですか?他の誰かがこれを経験しましたか?
jquery - jQuery の複数のラジオ ボタン
javascript/jquery が初めてで、現在のオブジェクトを使用this
または取得するのに苦労しています。$(this)
radio buttons
各行に という名前の のセットを持つテーブルがありますs_<rowindex>
。デフォルトでは、どのラジオ ボタンもチェックされていません。
ユーザーがラジオボタンを選択するたびにテーブルに新しい行を追加するjQuery関数を作成しようとしていますが、現在テーブルの最後の行にある場合のみです。私がやりたいのは、クリックされたラジオ ボタンの name 属性を取得し、それを解析して行インデックス (つまり、「_」の後の部分) を取得し、それをテーブル内の行数と比較することです。等しい場合は新しい行を追加し、そうでない場合は何もしません。
これをどのように攻撃するかによって、私の質問は 2 つあります。
1) ラジオ ボタンの name 属性を返すにはどうすればよいですか? または 2) 現在いる行の行インデックスを返すにはどうすればよいですか?
c# - C#拡張メソッド内から「this」にアクセスするにはどうすればよいですか?
私はVector2とXNAを使用してきましたが、ゼロベクトルでNormalize()メンバー関数を呼び出すと、{NaN、NaN}のベクトルに正規化されることがわかりました。これはすべてうまくいっていますが、私の場合は、代わりにゼロベクトルのままにしておくことをお勧めします。
このコードをプロジェクトに追加すると、かわいい拡張メソッドが有効になります。
残念ながら、このメソッドは、この拡張メソッドを呼び出すために使用するベクトルを単純に正規化するのではなく、正規化されたベクトルを返します。代わりに、 vector2Instance .Normalize()のように動作させたいと思います。
これを無効にする以外に、「v2」が変更されるようにこれを調整するにはどうすればよいですか?(基本的に、「this」オブジェクトにアクセスする必要があります。または、「v2」を参照して渡す必要があります。)
編集:
そして、はい、私はこれを試しました:
動作しません。v2はNormalizeOrZeroのスコープ内の単なる変数です。
c# - 「これ」を使っているのは本当ですか。c# のパラメーターがより多くのメモリを使用する前に?
パラメータをそのまま呼び出すだけではありませんか?
c++ - スマートポインタ+「これ」は有害と見なされますか?
などのスマート ポインターを使用する C++ プロジェクトでboost::shared_ptr
、" " の使用に関する優れた設計哲学は何this
ですか?
次のことを考慮してください。
スマート ポインターに含まれる生のポインターを後で使用するために保存するのは危険です。オブジェクトの削除の制御をあきらめ、スマート ポインターが適切なタイミングでそれを実行することを信頼します。
非静的クラス メンバーは、本質的に
this
ポインターを使用します。これは生のポインターであり、変更することはできません。
別の変数に保存this
したり、後で保存したり、コールバックでバインドしたりする可能性のある別の関数に渡すと、誰かがクラスへの共有ポインターを作成することを決定したときに導入されるバグが作成されます。
this
それを考えると、ポインタを明示的に使用することが適切なのはいつですか? これに関連するバグを防ぐことができる設計パラダイムはありますか?
jquery - jQueryセレクターから$(this)を除外するにはどうすればよいですか?
私はこのようなものを持っています:
これらのリンクの 1 つがクリックされたときに、クリックされていないリンクに対して .hide() 関数を実行したいと考えています。jQuery には :not セレクターがあることは理解していますが、この場合の使用方法がわかりません。これを使用してリンクを選択する必要があるためです。$(".content a")
私は何かをしたい
しかし、この場合、:not セレクターを適切に使用する方法がわかりません。
c++ - コンストラクター内から「this」を関数に渡しますか?
クラス コンストラクター内から "this" をポインターとして関数に渡し、それを使用してコンストラクターが戻る前にオブジェクトのメンバーを指すことはできますか?
アクセスされたメンバーが関数呼び出しの前に適切に初期化されている限り、これを行うのは安全ですか?
例として:
p>これはうまくいかないと思っていましたが、うまくいくようです。これは標準的な動作ですか、それとも未定義の動作だけですか?
c# - Stylecop はこのキーワードを追加するように指示しますが、冗長です - パフォーマンスへの影響はありますか?
私は Resharper に Stylecop を使用しています。クラスで何かを呼び出すたびに、Stylecop はthisキーワードを使用するように指示します。しかし、IDE は、これは冗長なコードであると言っています (確かにそうです)。では、なぜthisキーワードを使用する必要があるのでしょうか?
冗長なコードは (明らかに) 必要ないことを意味し、コンパイラは this キーワードで何もしませんか? したがって、 this キーワードはわかりやすくするためのものだと思います。
また、CLR では、このようなことは言語間で一貫して当てはまりますか? したがって、答えが、コンパイラがthisキーワードに触れることさえなく、それがプレゼンテーションと明確さのためだけであるということである場合、同じことが VB.NET にも当てはまりますか? stylecop はこれを監視し、Fxcop (後で使用します) は技術的な観点からコードの品質を監視するため、すべて明確にするためだと思います。
ありがとう