ホームページ ウェブフロントエンド jsチュートリアル new_javascript のヒントを使用せずに、コンストラクターを使用して JavaScript でオブジェクトを作成する方法の説明

new_javascript のヒントを使用せずに、コンストラクターを使用して JavaScript でオブジェクトを作成する方法の説明

May 16, 2016 pm 05:55 PM
new オブジェクトの作成

次のように

コードをコピーします コードは次のとおりです:
関数 人(名前, 年齢) {
this.name = 名前;
this.age = 年齢;
var p = 新しい人 ('ユリ', 20); >何かを発見 ライブラリコードが new を使わずに通常のオブジェクトを作成する方法は奇妙です。以下のように



コードをコピー
コードは次のとおりです:var reg = RegExp('^he$' ); テストでは、new が使用されているかどうかに関係なく、最終的に返されるオブジェクトは通常のオブジェクトであり、それらの型はすべて「オブジェクト」であることがわかりました。


コードをコピー
コードは次のとおりです: var reg1 = new RegExp('^he$') ; var reg2 = RegExp('^he$'); reg1.test('he'); // true reg2.test('he'); .log( typeof reg1); // object
console.log(typeof reg2); // object



まあ、コードは正常に実行されます。
この場合は、新しいものをまったく書かないでください。これにより、コードの量が節約されます。これは他のタイプにも当てはまりますか?文字列/数値/ブール値を試してください。



コードをコピーします

console.log(typeof boo1); // boolean



ご覧のとおり、通常のケースとは異なります。通常、新しいかどうかに関係なく、typeof の後に object が続きます。
ただし、文字列/数値/ブール型の場合、新しいオブジェクト typeof は「object」を返し、新しい型以外の typeof は「string」を返します。
つまり、new が適用できない場合、他の型はそれぞれ文字列、数値、ブール型に変換できます。

それでは、章の冒頭の person クラスに戻りましょう。つまり、自分で作成したクラスは new 演算子を使用せずにオブジェクトを生成できるのでしょうか?




コードをコピー


コードは次のとおりです。

function person(name, age) {
this .name = 名前;
this.age = 年齢;
var p = person('lily', 20); // 未定義

コードをコピーします


コードは次のとおりです:

function Person(名前、年齢) {
this.name = 名前;
if (this===window) {
return new person(name, age); }
}
var p = Person('lily', 20); // オブジェクト
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ActiveX コンポーネントがオブジェクトを作成できない問題を解決する方法 ActiveX コンポーネントがオブジェクトを作成できない問題を解決する方法 Jan 24, 2024 pm 02:48 PM

解決策: 1. スペルとパスを確認する; 2. コンポーネントへの参照を追加する; 3. レジストリを確認する; 4. 管理者として実行する; 5. Office を更新または修復する; 6. セキュリティ ソフトウェアを確認する; 7. 他のバージョンのコンポーネントを使用する; 8. 表示するエラー メッセージ; 9. 他の解決策を見つけます。詳細な紹介: 1. スペルとパスを確認します: オブジェクトの名前とパスにスペル エラーがないこと、およびファイルが指定されたパスに存在することを確認します; 2. コンポーネントへの参照を追加します。

Java リフレクション メカニズムを使用してオブジェクトを作成するにはどうすればよいですか? Java リフレクション メカニズムを使用してオブジェクトを作成するにはどうすればよいですか? Apr 15, 2024 pm 04:18 PM

Java リフレクション メカニズムを通じてオブジェクトを作成する手順は次のとおりです。 ターゲット クラスをロードします。 Class.forName() メソッドを使用します。コンストラクターを取得します。 getDeclaredConstructor() メソッドを使用します。オブジェクトを作成します。 newInstance() メソッドを使用してパラメータを渡します。

Go 言語でクラスとオブジェクトを作成および初期化する方法 Go 言語でクラスとオブジェクトを作成および初期化する方法 Jul 21, 2023 pm 07:00 PM

Go 言語でクラスとオブジェクトを作成および初期化する方法. Go 言語には従来のオブジェクト指向言語のクラスの概念がありませんが、構造とメソッドを通じて同様の機能を実現できます。この記事では、Go 言語でクラスとオブジェクトを作成および初期化する方法を学びます。 1. クラスの構造を定義する Go 言語では、構造を使用してクラスの属性とメソッドを定義できます。構造体は、異なるタイプの複数のフィールドを含めることができるカスタム複合タイプです。たとえば、長方形クラスを実装したい場合は、次のように定義できます。

Javaで新しいキーワードを使用する方法 Javaで新しいキーワードを使用する方法 May 03, 2023 pm 10:16 PM

1. 概念 Java 言語では、「new」式はインスタンスを作成する役割を果たし、その中でコンストラクターが呼び出されてインスタンスを初期化します。コンストラクター自体の戻り値の型は void であり、「コンストラクターは新しく作成された値を返す」ではありません。オブジェクト参照」ですが、新しい式の値は新しく作成されたオブジェクトへの参照です。 2. 目的: 新しいクラスのオブジェクトを作成する 3. 動作メカニズム: オブジェクトのメンバーにメモリ領域を割り当て、デフォルト値を指定する メンバー変数を明示的に初期化し、構築メソッドの計算を実行し、参照値を返す 4. 新しい操作を頻繁にインスタンス化するメモリ内に新しいメモリを開くことを意味し、メモリ内のヒープ領域にメモリ空間が確保され、jvmによって制御され、メモリが自動的に管理されます。ここでは例として String クラスを使用します。プ

Go言語のmakeとnewの違いは何ですか Go言語のmakeとnewの違いは何ですか Jan 09, 2023 am 11:44 AM

相違点: 1. Make は、slice、map、および chan タイプのデータの割り当てと初期化にのみ使用できますが、new は任意のタイプのデータを割り当てることができます。 2. 新しい割り当ては型「*Type」であるポインタを返しますが、make は参照である Type を返します。 3. new によって割り当てられたスペースはクリアされ、make によってスペースが割り当てられた後、初期化されます。

新しい演算子は js でどのように機能しますか? 新しい演算子は js でどのように機能しますか? Feb 19, 2024 am 11:17 AM

js の new 演算子はどのように機能しますか? 特定のコード例が必要です。js の new 演算子は、オブジェクトの作成に使用されるキーワードです。その機能は、指定されたコンストラクターに基づいて新しいインスタンス オブジェクトを作成し、そのオブジェクトへの参照を返すことです。 new 演算子を使用する場合、実際には次の手順が実行されます: 新しい空のオブジェクトを作成する; 空のオブジェクトのプロトタイプをコンストラクターのプロトタイプ オブジェクトにポイントする; コンストラクターのスコープを新しいオブジェクトに割り当てる (したがって、これは new をポイントします) object); コンストラクターでコードを実行し、新しいオブジェクトを与えます

新しい富士フイルムの固定レンズGFXカメラが新しい中判センサーをデビューさせ、全く新しいシリーズを開始する可能性がある 新しい富士フイルムの固定レンズGFXカメラが新しい中判センサーをデビューさせ、全く新しいシリーズを開始する可能性がある Sep 27, 2024 am 06:03 AM

富士フイルムは近年、フィルムシミュレーションとソーシャルメディアでのコンパクトレンジフィンガースタイルカメラの人気のおかげで多くの成功を収めている。しかし、Fujirumors によると、その栄誉に満足しているわけではないようだ。あなたは

See all articles