問題タブ [class-visibility]

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

java - リフレクション - パッケージのローカル クラス内にネストされた public static クラスのアクセシビリティ

私の例では、クラスを含む (パブリックとして宣言されていない) とそのネストされた静的クラス (パブリックとして宣言されている) の 2 つのパッケージがpackage1ありAますB

package2Mainclass のインスタンスを反射的に作成しようとする単純な main メソッドを持つクラスが含まれていpackage1.A$Bます。

驚くべきことに (少なくとも私にとっては)、このコードはリフレクションなしでは不可能なことを成功させています。古典import的なステートメント (import package1.A.B;または などimport package1.A.*;) は、クラスが表示されていないと主張するエラーを発生Aさせます。さらに、 のインスタンスを作成するために特別なアクセシビリティ権限を要求する必要はありませんB。それは正常な動作ですか?

編集:次のように、別の方法で内部クラスへの参照を取得した場合にも機能します:

0 投票する
0 に答える
135 参照

toggle - jQuery での可視性の切り替えがすぐに崩壊する

jQueryとJavaScriptの初心者です。次の問題があります: div 領域を開こうとするたびに、すぐに折りたたまれます。HTML は次のとおりです。

JavaScript:

jQueryのアップグレードに関係していると思います...

前もって感謝します

ユリウス

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

javascript - 継承 + プライバシーを設計する Javascript の方法

私は Douglas Crockford の本「JavaScript : The Good Parts」と他の多くのリソースを読みましたが、Javascript での継承とプライバシーの実装について少し混乱しています。

私は Java World から来ました。クロージャーを介してプライバシーをシミュレートしたり、プロトタイプを介して継承を行ったりできることを理解しましたが、JavaScript の方法でそれを行いたいと考えています。

プロトタイプ/寄生パターンでいくつかの継承を実行できることはわかっています。これはパフォーマンスには適していますが、一部のプライバシー メンバーを適切に使用する方法はありません (新しいオブジェクトがインスタンス化されるたびに何らかのクロージャ関数を作成する必要があります)。

オブジェクトから継承し、douglas Crockford によって提案されたような機能/寄生パターンを介してプライバシー メンバーを使用できることはわかっていますが、オブジェクトがインスタンス化されるたびに関数が再度作成されるため、明らかにパフォーマンス/メモリの問題があります。

最後に、プライバシーのカプセル化などの他の言語での優れたプラクティスが JavaScript で意味があるかどうか疑問に思っています。ここで、「私たちはプライバシーを気にしません。このプロパティに外部からアクセスしてはならないことを世界に伝えてください。それで十分です」と人々が言っ​​ている投稿を見たことがあります。

Javascript の優れたプラクティスは、パブリック インターフェイスを使用したプロトタイプ/寄生継承に縮小され、開発者が期待どおりにライブラリを使用することを期待する必要がありますか? それとも、継承とカプセル化の観点から考えるのは、javascript ではなく「java」の考え方でしょうか? これらの目標を達成するために、JavaScript でアヒルのプログラミングの力を使用するにはどうすればよいでしょうか。

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

c++ - 入れ子になったクラスの C++ Access プライベート メンバー

タイトルは少し誤解を招くかもしれません。次の問題があります。葉と内部ノードで構成されるツリーがあります。ユーザーは葉に任意の情報を保存できる必要があり、ツリーにはユーザー定義の値のセットを取得し、対応する葉に一定時間 (償却されない) でアクセスする必要があるいくつかのメソッドがあります。

次のアイデアを思いつきましたが、残念ながらネストされたクラスのプライベートメンバーにアクセスできないため、機能しません。ユーザーはツリー作成し、リーフごとUserElementに、対応するリーフの user_defined 値を含むインスタンスを作成します。doSomethingWithTheTree(list>) のようなメソッドが呼び出されてツリーが構築されると、ツリーは対応するリーフを作成し、プライベート フィールドに保存しますleaf。ユーザーが user_defined 値に対応するいくつかのリーフを使用してメソッドを呼び出したいときはいつでも、対応するUserElements を指定してメソッドを呼び出すだけで、ツリーは対応するリーフを一定時間で取得できます。

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

css - css メディア クエリを使用してナビゲーションを表示すると、メニュー項目が表示されない

幅が 610 ピクセル未満の画面に表示したくない水平メニュー バーがあります。そのために、navタグを次のように設定しています:

今、私はメディアクエリを次のように書いています:

画面サイズが 610px を超えていることを確認すると、メニュー リスト項目がなく、空のメニュー バーしか表示されません。ちなみに、<ul>タグには z-index:2 も使用しています。

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

c++ - 遅延バインディングを使用して非プライベート コンテキストからプライベート メソッドを呼び出す

以下のコード ( ) によって生成される出力には驚きましたg++ 4.4.7

出力は

バインディングが遅いため、コンパイラがここでエラーを発行できないことはわかっていますが、非プライベート コンテキストからプライベート メソッドを呼び出せるのはなぜでしょうか?

根拠は何ですか?