JavaScriptでオブジェクトを作成する方法_javascriptスキル
オブジェクトとは何ですか?
JavaScript の定義によれば、オブジェクトは順序付けされていないプロパティのコレクションであり、そのプロパティには基本的な値、オブジェクト、または関数を含めることができます。つまり、オブジェクトは、特定の順序ではない属性のセットであり、値はデータまたはオブジェクトのセットである値にマップされます。
最も単純なオブジェクト
JavaScript の中括弧 {} のペアでオブジェクトを定義できます。この記述方法は、実際には Object
var obj={};
var obj2= 新しいオブジェクト();
この方法で構築されたオブジェクトには、オブジェクトのプロトタイプへのポインターのみが含まれています。valueOf、hasQwnProperty、およびその他のメソッドを使用できますが、カスタム オブジェクトには常にいくつかのカスタム プロパティとメソッドが含まれています。
var obj={};
=0; a:0,
fn:function( ){
アラート(this);
オブジェクトを定義した後に「.」を使用してプロパティとメソッドを追加することも、オブジェクトの定義時にリテラル割り当てメソッドを使用してプロパティとメソッドを追加することもできます。 Attributes と同じメソッドは、クラスの静的変数や静的関数と同様に、オブジェクト参照を直接使用できます。この方法でオブジェクトを作成する場合には明らかな欠陥があります。多数のオブジェクトを定義するのは非常に手間がかかり、次のことを行う必要があります。ほぼ繰り返しのコードを何度も繰り返して書きます。
抽象化
コードは繰り返されるため、関数を使用してこれらの繰り返しタスクを実行し、オブジェクトの作成時に特別に作成されたメソッドを呼び出すことができます。異なる属性値の場合のみです。さまざまなパラメータを渡すだけです。
コードをコピー
コードは次のとおりです。
obj={};
このように、多数のオブジェクトを作成する場合、このメソッドを呼び出すことで繰り返し作業を行うことができます。多くの場合、作成されたオブジェクトのタイプを決定する必要があるためです。上記のコードでは、元の Object オブジェクト インスタンスは一部のプロパティとメソッドのみを拡張しています。
スタイル
JavaScript では関数がオブジェクトになります。これは、オブジェクトを作成するときに、関数を直接オブジェクトとして使用するための特殊な性質にあります。物体としての機能。
1. 関数はパラメータを受け入れ、パラメータに基づいて同じ型および異なる値のオブジェクトを作成できます
2. 関数がコンストラクターとして使用される場合 (new 演算子を通じて呼び出されます)、コンストラクターの基本的な知識は、貧困層および下位中流階級の農民バージョンの jQuery で説明されています。
コンストラクターの戻り値は 2 つの状況に分けられます。関数が return ステートメントを持たない場合、または基本型 (bool、int、string、unknown、null) を返す場合、new によって作成された匿名オブジェクトを返します。これは関数インスタンスです。関数本体が参照型オブジェクト (配列、関数、オブジェクトなど) を返す場合、そのオブジェクトは戻り値として new によって作成された匿名オブジェクトを上書きします。
3. では、関数を使用して型識別の問題を解決するにはどうすればよいでしょうか? 各関数インスタンス オブジェクトにはコンストラクター属性があります (「ある」ではなく、対応することができます)。 instanceof 演算子を使用して、オブジェクトが XXX のインスタンスであるかどうかを判断します。
練習せずに話すだけではなく、
をコーディングしてくださいfunction Person(name){
this.name =name;
this.fn=function(){
alert(this.name);
}
}
var person1=new Person('バイロン' );
console.log(person1.constructor==person);//true
console.log(person1 インスタンスオブ パーソン) //true
これは完璧ですね、いいえ!コンストラクターはオブジェクト固有にすることができますが、メソッドはオブジェクトのすべてのインスタンスで繰り返す必要があります。
function Person(name){
this.name =name;
this.fn=function(){
alert(this.name);
}
}
var person1=new Person('バイロン' );
var person2=new Person('Frank');
console.log(person1.fn==person2.fn);//false
2 つのインスタンスの fn はまったく同じですが、同じものではありません。関数オブジェクトに 1,000 個のメソッドがある場合、そのインスタンスのそれぞれにこれらのメソッドのコピーが含まれている必要があり、これは非常に面倒です。思い出は言葉にならない。
これ以上ナンセンスはありません
繰り返しの作業を必要とせず、スタイリッシュで、オブジェクトの一般的なメソッドの繰り返しを必要としない、オブジェクトを構築するほぼ完璧な方法はあるでしょうか? ?実際、関数の使用はすでに要件に近いことがわかります。唯一の違いは、関数オブジェクトのすべてのインスタンスで共有されるコンテナーが必要であるということです。このコンテナーでは、インスタンスが属性とメソッドを共有する必要があります。このコンテナの準備ができたこと - プロトタイプ。プロトタイプを知らない学生は、JavaScript プロトタイプ
function person(name){
this.name=name;
}
person.prototype.share=[];
人物のプロトタイプ。 printName=function(){
;
console.log(person1.printName==person2.printName);//true
このようにして、各 Person インスタンスは独自の属性名を持ち、すべてのインスタンスで共有される属性共有とメソッド printName を持ちます。一般的なオブジェクト処理に関する基本的な問題は、いつでもこのスタイリッシュで魅力的な方法を作成できます。 . オブジェクトモード。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。
