問題タブ [local-variables]

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

c# - エラー2割り当てられていないローカル変数「Y」の使用

繰り返しますが、エラーが発生しました。誰かにバグを報告するつもりはありませんが、このコードでエラーが発生します。

答えてくれてありがとう!

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

javascript - ローカル変数がグローバル変数を強制終了するのはなぜですか?

この質問で申し訳ありませんが、この問題は私の一日を本当に台無しにしました。

次のコードは、必要に応じて10を警告します。

しかし、この次のコードはundefinedを警告します:

関数で変数をローカル変数として宣言すると、すでにグローバルとして宣言している場合、アラートにundefinedと表示されるのはどうしてでしょうか?

これは簡単な例ですが、元のコードでは、関数の開始の間に多くのことを行いました。その後、長い道のりで が定義されているかどうかを確認し、定義されていない場合globalIdは定義します。if(!globalId){var globalId;}これは、私のアラートがJavaScript が最初に関数全体を実行したかのように、関数の先頭に undefined が生成され、変数が宣言されている可能性があるかどうかを確認し、宣言されている場合はそれらを宣言するため、私のアラートは「宣言されていない」変数を指していました。

JavaScriptが関数を実行する前にすべての変数を「事前宣言」することが本当なら、条件が満たされていない条件で宣言された変数であっても、誰かが私に説明できますか?

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

memory - マロックの良いアイデアはいつですか?

変数にメモリを割り当てることについて少し混乱しています。たとえば、大きなデータ構造 (配列、構造体、オブジェクトなど) を作成していて、それを main() のスコープで初期化している場合、ローカル変数を作成する必要があります。

int chessBoard[8][8] = ...

または、ヒープにメモリを割り当てる必要がありますか?

int * chessBoard = new array[8][8];
*chessBoard = ...

それは問題ですか?優遇ですか?より効率的/よりスマートですか?個人的には、スタック フレームに対して十分に小さいとは思えない大きなオブジェクトにメモリを割り当てるのが好きです。しかし、私は本当に知りません。

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

java - ほとんどのオープンソースJavaプロジェクトでローカル変数がfinalとして宣言されていないのはなぜですか?

OpenJDK、Hibernate、ApacheのJavaソースコードを見ると、finalと宣言されたローカル変数はまだありません。

これは、最も広く使用されているJavaソフトウェアライブラリの開発者が次のことを示唆しています。

  • 最後のキーワードが読みやすさを向上させるとは思わないでください。

  • パフォーマンスが大幅に向上するとは思わないでください。

stackoverflowの寄稿者の大多数が、(最も投票数の多い回答に基づいて)使用する必要があると考えているのはなぜですか?

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

python - Python 2.6は、特定の状況下で関数定義内の変数を自動的にグローバルにしますか?なんで?

私は、なぜ次のことが起こっているのか、絶対に唖然とします。

これが私のコードです:



結果は次のとおりです。


xが変更された理由がわかりません。

私の推測:どういうわけか、xは関数add_oneのグローバル変数として与えられています。'new_array = array'を含めたので、配列が何らかの形でグローバル変数xである場合、xは変更されません。ただし、「new_array = array」が実行されると、どういうわけかnew_arrayもグローバル変数xになりました。私は問題を起こさなかった関数add_oneの代替バージョンを書きました:



ローカル変数(つまり配列)が関数内のインデックスによって編集された場合、その関数の入力として取得されたグローバル変数に対してグローバルになりますか?

何が起こっているのかわかりません。説明をいただければ幸いです。

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

makefile - Makefile マクロ内での変数の定義 (define)

defineマクロの作成に使用しています。ただし、define コンストラクト内では、変数を作成できません。変数を割り当ててもエラーは発生しませんが、少し後で使用しようとすると、値が空になります。

例えば

上記のコードから、行を複製していることがわかります

$(call GENERATED_FILE,$(1),$(2),php)$(call GENERATED_FILE,$(1),$(3),js)複数の場所から。そこで、次のように、マクロの最初の 2 つのステートメントとして 2 つの変数を作成してみました。

しかし、後で (まだ定義内で) 使用しようとすると、$(PHP_OUT_FILE)またはのよう$(JS_OUT_FILE)に、変数は空になります。マクロからその重複を削除できるようにしたいと考えています。私はそれを間違っていますか?それは不可能ですか?それを行う別の方法はありますか?

両方の答えをテストする

eriktous と Ise Wisteria のアプローチを試してみましたが、どちらも「うまくいきました」。どちらもプライベート変数を作成せず、グローバルだけで問題ありません。変数の衝突に注意する必要があり、再帰呼び出しを行うことはできません (これは計画していませんでした)。

eriktous のアプローチの問題は、$$ を追加すると、変数が外部で評価されるようになるという事実です。つまり、$$ は単一の $ として出力され、ターゲットが呼び出されたときにのみ評価されます。したがって、マクロを 2 回呼び出すとオーバーライドされます。

伊勢藤のアプローチは、私が必要とすることを行います。eval を呼び出すと、変数がすぐに宣言されるため、マクロが評価されている間、マクロによって使用および展開されます。これは、マクロ内で 2 つの異なる値を設定できなかったことを意味しますが、それでも問題ありません。

テストに使用したメイクファイルは次のとおりです

出力は次のとおりです。見やすくするために、実行されるステートメントの make のエコーを省略しました。

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

php - ローカル変数なしでこのPHPコードを再設計するにはどうすればよいですか?

私はそのような機能を持っています:

そのような配列をローカル変数に保持するのは良い習慣ですか?たとえば、約50のタイトルがあります。したがって、この関数を呼び出すたびに、スクリプトは50タイトルをロードしますか?

使用することを考えてglobalいますが、グローバルは悪い習慣ではありませんか?

私はPHPの初心者で、早い段階でJSで作成しました。JSでは、クロージャを使用してこれを行うことができます。

ここで、title-arrayはグローバルではなく、関数を呼び出すたびに読み込まれるわけではありません。しかし、PHPでこれを行う方法は?

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

ruby-on-rails - RailsTutorial.org ブック デザインに関する質問

こんにちは、Michael Hartl の RAILSTUTORIAL 本を読みましたが、彼がユーザーの表示ページをどのように構築しているかについて質問があります。

このページは、ユーザーが作成したすべての投稿を一覧表示することになっています。

ユーザーコントローラー

ユーザー/show.html.erb

投稿/_post.html.erb

投稿オブジェクトを使用するユーザー ビューでパーシャルをレンダリングする必要がありますが、それは @post として要求されます。ユーザーのコントローラーの show アクションで @post が定義されていないため、nil エラーが発生します。

ユーザーのコントローラーから投稿ビューに移動してローカル変数を使用するのは奇妙に思えますが、ローカル変数を正しく理解していれば、そのビューの外部では使用できません。そのビューの投稿の値をユーザー ビューの @post に割り当てる方法はありますか?

助けてくれてありがとう

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

c - Cでグローバル変数と同じ名前を共有するローカル変数をどのように参照しますか?

例えば

関数バーで foo を直接呼び出すと、グローバルな foo が取得されると思います。ローカル foo を参照するにはどうすればよいですか? 私はC ++で知っています、このポインターがあります。しかし、Cには似たようなものがありますか?

どうもありがとう!

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

javascript - 動的ローカル変数にアクセスする方法

動的ローカル変数をどのように参照しますか?これは、グローバル変数を使用して簡単に実行できます。

ローカルスコープで同じことをするにはどうすればよいですか?


具体的に私がやろうとしていること:

状況に応じて、 a<bまたはb<aを評価したい

  • これを実現するために、 compare1compare2の2つの変数を設定しました。
  • compare1はaまたはbのいずれかを参照し、compare2はもう一方を参照します
  • compare1 < compare2またはその逆を 評価します

以下は、グローバル変数で完全に機能します。 ただし、abをローカルにします。

上記で設定した場合変更するたびにcompare1compare1=aをリセットする必要があります。代わりに、実際にの値を[見て/指し示し]たいと思います。