問題タブ [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++ - c ++:オブジェクトの変数は評価できませんが、同じオブジェクトへの参照からの変数は評価できますか?
わかりました、これは非常に奇妙です...私は思います。タイトルの意味は次のとおりです。
私が持っているactionHandlerオブジェクトのact()関数内:
これにより、ある種のアドレス違反が発生します。明らかに、「this」には「state」変数が初期化されていません...このactionHandlerクラスには、「handler」と呼ばれるそれ自体のインスタンスへのポインターである静的変数があります。 '...そして私がそうするなら:
それは完璧に機能します..これをさらに明確にするために:
その「ハンドラー」ポインターは、プログラム全体に存在するactionHandlerの唯一のインスタンス(シングルトンパターン)を指します。したがって、基本的に、actionHandlerオブジェクトからこのact()関数を実行すると、「状態」にアクセスできません。変数、しかしそのオブジェクトから、同じオブジェクトへのポインタを介して同じ変数にアクセスしようとすると、それは大丈夫ですか?何が起こっているのかわかりません。それが明確かどうかはわかりませんが、少し混乱する可能性がありますが、理解できることを願っています。
ところで、VS08デバッガーは私が何を意味するかを示しています:
それがより明確になることを願っています。変数の現在の値が表示される小さなウィンドウに表示されるのは小さなツリー構造です(自動)。
編集:このポインタがnullになるので、nullになる方法がわかりません。コードを投稿します。
actionHandler.h:
actionHandler.cpp:
現在、gameState.hiには、同様の構造(シングルトン)とactionHandler *プライベート変数があり、次の場所で初期化されます。
また、ハンドラーを返すgetHandler()関数もあります。これはすべてmain.cppで初期化する必要があります。
そして使用されます:
main.cppは、ヘッダーのない単純な.cスタイルで記述されているため、ハンドラーを呼び出す関数は静的であると思います...ただし、gameState *ポインターも呼び出します。これは、おそらくまったく同じように機能します。 actionHandler *one..これがより明確になることを願っています。
javascript - IE の「this」キーワード
だから、私はこのスニペット<tr onclick="this.toggleClassName('selected')">
をWebページで使用しています。(Prototype.js 関数) うまく機能します。テーブルの行をクリックするだけで、選択されたように見えます。IE と Opera を除いて、どこでも動作します。これは単なる便利なので、動作するかどうかはあまり気にしませんが、IE ではエラーがスローされ、ユーザーにデバッグするかどうか尋ねられます。
「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラー メッセージが表示されます。どのオブジェクトまたはどのメソッドを参照している可能性がありますか? IE でこの機能を実装する簡単な方法について何か考えはありますか? エラーメッセージをユーザーに投げ出さないのはどうですか?
ありがとう、デイブ
c# - この状況で「this」キーワードを使用するC#?
複素数クラスを設計およびコーディングするOOPコースの割り当てを完了しました。追加のクレジットについては、次のことができます。
2つの複素数を追加します。この関数は、1つの複素数オブジェクトをパラメーターとして受け取り、複素数オブジェクトを返します。2つの複素数を加算すると、呼び出し元オブジェクトの実数部がパラメーターとして渡された複素数オブジェクトの実数部に追加され、呼び出し元オブジェクトの虚数部がとして渡された複素数オブジェクトの虚数部に追加されます。パラメータ。
2つの複素数を引きます。この関数は、1つの複素数オブジェクトをパラメーターとして受け取り、複素数オブジェクトを返します。2つの複素数を減算する場合、パラメーターとして渡された複素数オブジェクトの実数部が呼び出し元オブジェクトの実数部から減算され、パラメーターとして渡された複素数オブジェクトの虚数部がオブジェクトを呼び出しています。
これをコーディングしました。thisキーワードを使用してクラスの現在のインスタンスを示しました。addメソッドのコードは以下のとおりです。subtractメソッドは次のようになります。
私の質問は:私はこれを正しくそして良いスタイルで行いましたか?(このキーワードを使用して)?
java - Java:抽象クラスコンストラクターとthis()
誰かが私が誤解していることを指摘できますか?
次のように、AbstractとConcreteの2つのクラスがあります。
と
これを実行すると、次の出力が得られます。
1)クラス=コンクリート; Abstractの引数なしコンストラクターが呼び出されました。
2)クラス=コンクリート; Abstractの1引数コンストラクターが呼び出されました。
3)クラス=コンクリート; と呼ばれるConcreteの1引数コンストラクター。
私の質問はこれです:AbstractのString argコンストラクターからthis()を呼び出すと、Concreteでこのno-argコンストラクターが呼び出されないのはなぜですか?または、おそらくもっと適切に、AbstractのString argコンストラクターにConcreteのno-argコンストラクターを呼び出して、コンストラクターの「適切な」チェーンを可能にする方法はありますか?
jquery - この$(this).attr( "id")。toggle( "");の何が問題になっていますか。
this.idオブジェクトを切り替えるための適切な構文は何ですか
$(this).attr( "id")。toggle( "");
ありがとう。グーグルは驚くべきことに助けていない:(
c++ - C++ と Java のコンストラクターと変数名
私はJavaのバックグラウンドから来てC ++を学んでいます(何年も前からCを少し知っています)...
Java では、コンストラクター内で "this" を使用して、コンストラクターに引数として渡された変数と、クラスで宣言された変数を区別するのが一般的です。
変数 Blabla.a と、コンストラクターに引数として渡された変数が同じものを表しているため、同じ名前にする必要があると論理的に感じられるため、私はこれが気に入っています...
C++でこれを行うことは可能ですか?
php - PHP: $_this には特別な意味がありますか?
$_this
PHPでの意味に関するドキュメントが見つからないようです。CakePHP フレームワークでかなり使用されているようです。
何か案は?
php - PHPクラスまたはPHPメソッドのselfと$this->の違いはどこにありますか?
PHPクラスまたはPHPメソッドのself
との違いはどこにありますか?$this->
例:
私は最近このコードを見ました。
$this->
しかし、それはクラスの現在のインスタンス(オブジェクト)を参照していることを覚えています(これも間違っている可能性があります)。しかし、違いは何ですか?
php - 私のOOPPHPの疑問について助けてください。
私は次のプログラムを持っています
両方のechoステートメントは、正しい同じ出力、つまり「Fred」と「Barney」を提供します。したがって、$ barneyを宣言するときに&を使用するとどうなりますか。ここで「&」とは何を指しますか?
ありがとう
javascript - この内部関数
私の質問は:
私が言えることから、それはどのようFoo
に使用されるか、つまりコンストラクターまたは関数として使用されるかによって異なります。this
さまざまな状況で何が起こる可能性がありますか?