ホームページ  >  記事  >  ウェブフロントエンド  >  動的クラス名を使用して JavaScript オブジェクトをインスタンス化するにはどうすればよいですか?

動的クラス名を使用して JavaScript オブジェクトをインスタンス化するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-22 13:59:02116ブラウズ

How to Instantiate JavaScript Objects with Dynamic Class Names?

動的クラス名を使用した JavaScript オブジェクトのインスタンス化

文字列変数を使用してクラス名を定義する JavaScript オブジェクトを動的に作成することには、特有の課題があります。説明したシナリオを分析して、考えられる解決策を検討してみましょう。

疑似コードでは、変数名 MyClass でクラスを定義し、そのクラス名を文字列変数 classNameString に格納し、次を使用してオブジェクトをインスタンス化します。

このアプローチでは、クラス コンストラクター関数への直接参照が必要な、JavaScript のオブジェクト インスタンス化メカニズムの制限に直面します。クラス名を文字列として保存したため、クラス コンストラクターに直接アクセスすることはできません。

この問題を回避するには、間接的なアプローチを使用できます。

<code class="javascript">var myObject = window[classNameString];</code>

このコードでは、次のようになります。

  • window は JavaScript のグローバル オブジェクトであり、定義された各クラスのプロパティがあります。
  • 括弧表記 [] は、classNameString に対応するプロパティにアクセスするために使用されます。
  • classNameString に格納されている名前を持つクラスが存在する場合、コードはそれを取得して myObject に割り当てます。

この手法を使用すると、定義する文字列変数を使用してオブジェクトを動的にインスタンス化できます。クラス名。このアプローチは、クラスがすでに定義されており、グローバル ウィンドウ オブジェクトを通じてアクセスできることを前提としていることに注意してください。

以上が動的クラス名を使用して JavaScript オブジェクトをインスタンス化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。