ホームページ ウェブフロントエンド jsチュートリアル js_javascriptスキルでオブジェクトを作成する方法のまとめ

js_javascriptスキルでオブジェクトを作成する方法のまとめ

May 16, 2016 pm 03:20 PM
js 作成する 物体

js でオブジェクトを作成するには 3 つの方法があります。ここではその概要を示します。

1. オブジェクトの直接数量

いわゆるオブジェクト直接量はマッピングテーブルとみなすことができます。この方法も個人的には最も直接的な方法です。

//创建简单对象
var obj1 = {}; //空对象

var obj2 = {
  name: "ys",
  age: 12
};
//创建复杂对象
var obj3 = {
  name: "ys",
  age: 12,
  like: {
    drink: "water",
    eat: "food"
  }
};

console.log(typeof obj1);  //object
console.log(typeof obj2);  //object
console.log(typeof obj3);  //object

ログイン後にコピー

ここではキー値の名前に引用符が含まれていないことに気づく人もいるかもしれませんが、実際にはこれらの引用符 (js と同じ一重引用符と二重引用符) を追加することができます。個人的には追加することをお勧めします。追加後のキー値の名前は非常に任意になる可能性があるためです。もちろん、名前をランダムに定義しない場合は、最初の名前の方が適切です。これは人によって異なります。

var obj4 = {
  "my name": "ys",  //键值名中间有空格
  "my-age": 12,    //键值名中间有连字符
  "while": 111    //键值名是关键字
}

console.log(obj4['my name']);  //ys
console.log(obj4['my-age']);  //12
console.log(obj4.while);    //111
console.log(typeof obj3);    //object

ログイン後にコピー

上記の例を通して、「.」と「[]」のアクセス属性の違いがわかります

オブジェクト リテラルによって作成されたオブジェクト、キーと値のペアの値は次のような式をサポートします

var obj3 = {
  name: "ys",
  age: obj2.age,   //引用obj2.age
  like: {
    drink: "water",
    eat: "food"
  }
};

console.log(obj3.age); //100

ログイン後にコピー

2.new オブジェクトを作成します

1) システム組み込みオブジェクト

var obj1 = new Object();
var obj2 = new Array();
var obj3 = new Date();
var obj4 = new RegExp("ys");

console.log(typeof obj1);  //object
console.log(typeof obj2);  //object
console.log(typeof obj3);  //object
console.log(typeof obj4);  //object

ログイン後にコピー

2) カスタムオブジェクト

function Person(name, age){
  this.name = name;
  this.age = age;
}

var obj1 = new Person("ys", 12);

console.log(Object.prototype.toString.call(obj1));  //object
console.log(Person instanceof Object);        //true
console.log(typeof obj1);              //object
console.log(obj1.age);                //12

ログイン後にコピー

3.Object.create() は

を作成します

このメソッドには 2 つのパラメーターがあります。最初のパラメーターについてのみ説明します。2 番目のパラメーターは一般的には使用されません (オブジェクトのプロパティについて詳しく説明します)。 最初のパラメータ: 継承するプロトタイプ オブジェクトを渡します
この文をどう理解すればいいでしょうか?

var obj1 = Object.create({
  name: "ys",
  age: 12
});
console.log(obj1);     //{}
console.log(obj1.age);   //12

ログイン後にコピー
obj1 は {} ですが、なぜ属性値にアクセスできるのでしょうか?第一引数「継承するプロトタイプオブジェクトを渡す」の意味を理解しましょう

console.log(obj1.__proto__); //オブジェクト {名前: "ys"、年齢: 12}

オブジェクト自体は空ですが、プロトタイプチェーン上のデータは空ではないため、アクセスできます。

1) 最初のパラメータが null の場合

var obj2 = Object.create(null);   //不继承对象应有的属性和方法
console.log(obj2 + "abc");     //报错 ,失去 + 功能

ログイン後にコピー
エラーが報告されるのはなぜですか?通常のパラメータで生成されたグラフは次のとおりです:

図からわかるように、継承されるプロトタイプ オブジェクト (つまりパラメーター) は Object のプロトタイプ オブジェクトを継承します。これが主な理由です。Object のプロトタイプ オブジェクトには、js オブジェクトのいくつかの基本メソッド (indexOf()) が含まれています。 、toString( )、'+' 関数...) このとき、パラメーターが null の場合、継承チェーンは壊れます。

この時点で、JavaScript のすべてのオブジェクトは Object から継承され、Object は継承チェーンの最上位にあると考えられるということを理解する必要があります。

2) 空のオブジェクト を作成します。

var obj3 = Object.create(Object.prototype); 
console.log(obj3);              //{},(空对象,与前两个方法 {},new Object 相同)
console.log(obj3.__proto__);         //如下图 ,只包含了基本对象的方法

ログイン後にコピー
コードの画像:

この方法で作成されたオブジェクトには、オブジェクトの基本メソッドのみが含まれます。

3) 最後に、Object.create() メソッドをより深く理解できるように、次のコードを確認します。《JavaScript オブジェクトを作成する新しい方法 Object.create()》

var obj1 = {
  name: "ys",
  age: 12
};
obj1.prototype = {
  sayName: function(){
    return console.log(this.name);
  }
};

ログイン後にコピー
/*①对象参数,只继承对象*/
var obj2 = Object.create(obj1);
console.log(obj2);                 //{}
console.log(obj2.name);               //ys
/*console.log(obj2.sayName());*/          /* 报错 obj2.sayName is not a function*/
console.log(obj2.__proto__.prototype.sayName());  //ys 理解原型的原型

ログイン後にコピー
理解できない場合は、下の写真を見てください

/*②对象原型,继承对象原型*/
var obj3 = Object.create(obj1.prototype);
console.log(obj3);                 //{}
console.log(obj3.name);               //undefined,没有继承对象本身
obj3.name = "ys";
console.log(obj3.name);               //ys
console.log(obj3.sayName());            //ys

ログイン後にコピー
コードは画像 (名前を設定した後の画像) を理解できません:

この時点では、誰もが最初のパラメータを理解していると思います。

上記がこの記事の全内容です。より良いオブジェクトの作成に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

Realme Phoneでフォルダーを作成するにはどうすればよいですか? Realme Phoneでフォルダーを作成するにはどうすればよいですか? Mar 23, 2024 pm 02:30 PM

タイトル: Realme Phone 初心者ガイド: Realme Phone でフォルダーを作成する方法?今日の社会において、携帯電話は人々の生活に欠かせないツールとなっています。人気のスマートフォン ブランドとして、Realme Phone はそのシンプルで実用的なオペレーティング システムでユーザーに愛されています。 Realme 携帯電話を使用する過程で、多くの人が携帯電話上のファイルやアプリケーションを整理する必要がある状況に遭遇する可能性があり、フォルダーを作成するのが効果的な方法です。この記事では、ユーザーが携帯電話のコンテンツをより適切に管理できるように、Realme 携帯電話にフォルダーを作成する方法を紹介します。いいえ。

GIMPでピクセルアートを作成する方法 GIMPでピクセルアートを作成する方法 Feb 19, 2024 pm 03:24 PM

この記事は、Windows でのピクセル アート作成に GIMP を使用することに興味がある場合に役立ちます。 GIMP は、無料でオープンソースであるだけでなく、美しい画像やデザインを簡単に作成できる有名なグラフィック編集ソフトウェアです。 GIMP は、初心者にもプロのデザイナーにも同様に適していることに加えて、描画と作成のための唯一の構成要素としてピクセルを利用するデジタル アートの形式であるピクセル アートの作成にも使用できます。 GIMP でピクセル アートを作成する方法 Windows PC で GIMP を使用してピクセル アートを作成する主な手順は次のとおりです。 GIMP をダウンロードしてインストールし、アプリケーションを起動します。新しいイメージを作成します。幅と高さのサイズを変更します。鉛筆ツールを選択します。ブラシの種類をピクセルに設定します。設定

Gree+ でファミリーを作成する方法 Gree+ でファミリーを作成する方法 Mar 01, 2024 pm 12:40 PM

「Gree+ ソフトウェアでファミリーを作成する方法を知りたい」という友達がたくさんいました。操作方法は次のとおりです。詳しく知りたい友達は、一緒に見に来てください。まず、携帯電話で Gree+ ソフトウェアを開き、ログインします。次に、ページ下部のオプション バーで、右端の [My] オプションをクリックして、個人アカウント ページに入ります。 2. マイページにアクセスすると、「ファミリー」の下に「ファミリーを作成」という項目があるので、それをクリックして入力します。 3. 次にファミリーを作成するページにジャンプし、表示に従って入力ボックスに設定するファミリー名を入力し、入力後右上の「保存」ボタンをクリックします。 4. 最後に、ページの下部に「正常に保存しました」というプロンプトが表示され、ファミリが正常に作成されたことが示されます。

iPhone 用の連絡先ポスターを作成する方法 iPhone 用の連絡先ポスターを作成する方法 Mar 02, 2024 am 11:30 AM

iOS17 では、Apple は一般的に使用される電話アプリと連絡先アプリに連絡先ポスター機能を追加しました。この機能を使用すると、ユーザーは連絡先ごとにパーソナライズされたポスターを設定できるため、アドレス帳がより視覚的で個人的なものになります。連絡先ポスターは、ユーザーが特定の連絡先をより迅速に識別して見つけるのに役立ち、ユーザー エクスペリエンスを向上させます。この機能により、ユーザーは自分の好みやニーズに応じて各連絡先に特定の写真やロゴを追加でき、アドレス帳のインターフェイスがより鮮明になり、iOS17 では Apple は iPhone ユーザーに自分自身を表現する新しい方法を提供し、パーソナライズ可能な連絡先ポスターを追加しました。連絡先ポスター機能を使用すると、他の iPhone ユーザーに電話をかけるときに、独自のパーソナライズされたコンテンツを表示できます。あなた

Django の概要: コマンド ラインを使用して最初の Django プロジェクトを作成する Django の概要: コマンド ラインを使用して最初の Django プロジェクトを作成する Feb 19, 2024 am 09:56 AM

Django プロジェクトの旅を始めましょう: コマンド ラインから開始して、最初の Django プロジェクトを作成します。Django は、強力で柔軟な Web アプリケーション フレームワークです。Python をベースにしており、Web アプリケーションの開発に必要な多くのツールと機能を提供します。この記事では、コマンド ラインから最初の Django プロジェクトを作成する方法を説明します。始める前に、Python と Django がインストールされていることを確認してください。ステップ 1: プロジェクト ディレクトリを作成する まず、コマンド ライン ウィンドウを開き、新しいディレクトリを作成します。

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

MDFファイルの作成方法 MDFファイルの作成方法 Feb 18, 2024 pm 01:36 PM

MDF ファイルは一般的なデータベース ファイル形式であり、Microsoft SQL Server データベースの主要なファイルの 1 つです。データベース管理システムでは、テーブル、インデックス、ストアド プロシージャなどを含むデータベースの主要なデータを保存するために MDF ファイルが使用されます。 MDF ファイルの作成はデータベース作成の重要な手順の 1 つであり、一般的な方法をいくつか紹介します。 SQLServerManagementStudio(SSMS)SQLServerManager の使用

See all articles