問題タブ [variable-declaration]

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

java - Javaスイッチ:変数の宣言とスコープ

Javaコンパイラは次のスイッチブロックをどのように処理しますか?'b'変数のスコープは何ですか?

'b'変数は、switchステートメントの最初のブランチでのみ宣言されていることに注意してください。2番目のブランチでも宣言しようとすると、「ローカル変数の重複」コンパイルエラーが発生します。

注:上記のコードは、Java1.6コンパイラーでコンパイルされます。

0 投票する
6 に答える
324157 参照

python - Python 変数宣言

Pythonを学習していて、いくつかの基本的な疑問があります。

1.変数宣言(パスはこちら)を次のように見ました

場合によっては、明示的な宣言はありませんが、を介して初期化し__init__ます。

の目的は理解して__init__いますが、他の関数で変数を宣言することをお勧めします。

2.カスタム型を保持する変数を作成するにはどうすればよいですか?

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

php - PHP で $(変数名) のような変数名を宣言できますか?

mysql 関数 mysql_field_name() の結果の文字列 (フィールド名) を取得し、それを変数として宣言して、後でプログラムで使用できるようにしたいと考えています。
たとえば、次のようにします。

ここで、このステートメントを次のように使用できますか:$(mysql_field_name($result,2));
正しい変数宣言ですか?
それは機能し、変数名としてフィールド名を持つ変数を宣言しますか?

0 投票する
6 に答える
2650 参照

c++ - C ++:if / elseで宣言:varはこのスコープで宣言されていません

私はC++で何かを理解していません、gccは私がどのように進めるかが好きではありません。
やった :

そして私はこのエラーを受け取ります:

彼のタイプはブール値mainに依存しているため、ヘッダーで宣言できません。 どうすればこれを解決できますか?fModeMdi

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

c++ - true/falseを2倍にする

Bjarneは、スコープ制限としてifの条件を使用することを提案しています。特にこの例。

私は、宣言を真/偽の意味で解釈する方法に興味があります。

  1. 宣言です
  2. ダブルです。

編集:それは6.3.2.1の推奨事項としてのC++プログラミング言語です。

Edit2:特に動的キャストを使用したポインターのtemplatetypedefs提案は、Bjarnes提案への洞察を与える可能性があります。

SteveJessopは私に次のように語っています。-条件は式ではなく、宣言でもあり得ます。使用される値は、評価される値です。

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

c++ - C++11-非静的データメンバーを「auto」として宣言

C ++ 11では、非静的データメンバーが宣言で初期化されている場合、それらを「自動」として宣言できますか?例えば:

GCC 4.7は上記のコードを拒否しますが、を受け入れますint x = 5;

これがコンパイラのバグではなく、標準では実際には許可されていないと仮定すると、なぜでしょうか。ローカル変数を宣言するのと同じくらい便利ですauto

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

c - ループ本体で宣言された変数は、反復中に保持されますか?

ループの本体で文字配列を宣言するCのループについて考えてみます。各反復で、配列の文字は最後に到達するまで変更されます。最後に、変数が出力されます。説明は次のコードに拡張されます。

0123多くの人が出力として期待するかもしれません。しかし、何らかの理由で、GCC 4.7は、最適化を有効にした(およびそれ以降)コンパイル時にそれを行いません-O1。代わりに、ランダムデータを文字配列の最初のバイトに配置します。これは次のようになります。

これは言語の観点からは論理的な動作だと思います。ブロックが終了すると自動変数がなくなるため、上記の「ランダムな」動作が予想されます。

正しい振る舞いは何でしょうか?ループの外側の宣言を移動すると「修正」されることは知っていxますが、このスニペットの動作については何も言えません。実際の問題はNetfilterのバグです。

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

javascript - 実行時ではなく、関数宣言時にすべての変数を解析します

文字列からのイベントを添付したい。私が抱えている問題は、関数名が文字列として渡されるのではなく、関数が呼び出されたときにコンパイルされるため、未定義の変数エラー(temp)が発生することです。

temp [x] [0]('someFunc')を使用せずに、.applyメソッド(この場合は.apply('someFunc' ...))の文字列を直接渡す場合、問題はありません。そして、関数は期待どおりにonClickで呼び出されます。そうしないと、要素elをクリックすると、tempが定義されていないというエラーが表示されます。

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

javascript - Javascript:文字列からのイベントの添付、クロージャでの変数の評価

私はこの質問を間違った方法で行ったことを確信しています。onClick="someFunc(arg1,arg2...)"javascriptパーサーなどに文字列を渡そうとしています。

パーサーは、args(arg1、arg2など)を使用してsomeFuncのonClickイベントを作成する必要があります。

私の問題は、テキストがパーサーを通過するときに、someFuncの文字列名を保持する変数のスコープが渡され、添付されたイベントがすべて最後に宣言された文字列として登録されることです。

以下のコードでは、attributes._onClickは文字列'onClick = "someFunc(arg1、arg2);"である可能性があります。1つの要素の後に'onClick= "otherFunc(argA、argB);"が続きます パーサーが文字列内を移動するときに、別の要素に対して。

ブラウザ(Firefox V14.01)の出力には、常にotherFuncとして登録されるイベント関数があります。したがって、クロージャ内のf_nameは変数として評価されませんが、代わりに、ブロック全体の解析全体で宣言されたf_nameの最後の値として登録されます。

私はこれを理解するために必要な程度の範囲に精通していません。この方法でイベントを添付する方法を知っている人はいますか(パーサーの外に出てイベントを追加することを避けようとしています)?

0 投票する
5 に答える
7075 参照

c++ - C++ constructor not being called

I'm new to C++ and this is my first time with its classes and I was wondering, how do I call a constructor? I've read some documentation on classes in C++ and that's how I came up with what I have. The constructor calls private methods to setup the server.