ホームページ  >  記事  >  ウェブフロントエンド  >  js オブジェクトを作成するさまざまな方法が詳細に説明されています

js オブジェクトを作成するさまざまな方法が詳細に説明されています

韦小宝
韦小宝オリジナル
2018-03-02 11:25:261549ブラウズ

JavaScript開発でjsオブジェクトを使用するのは非常に一般的ですが、jsオブジェクトを作成するにはどうすればよいでしょうか?多くの方法がありますので、今日はjsオブジェクトを作成するさまざまな方法について説明します

JavaScriptのオブジェクトにはいくつかの方法があります作成するには:

  1. 組み込みオブジェクトを使用する

  2. JSON 表記を使用する

  3. カスタムオブジェクトの構築


1. 組み込みオブジェクトを使用する JavaScript が利用可能組み込みオブジェクト
1、文字列、オブジェクト、関数などの JavaScript 言語ネイティブ オブジェクト (言語レベルのオブジェクト)
2、ウィンドウなどの JavaScript ランタイム ホスト オブジェクト (環境ホスト レベルのオブジェクト) 、文書、本文を待ちます。

組み込みオブジェクトを使用するとは、ネイティブ JavaScript オブジェクトの

コンストラクター メソッド を通じて新しいオブジェクトをインスタンス化することを意味します。例:

var str = new String("实例初始化String"); 
var str1 = "直接赋值的String"; 
var func = new Function("x","alert(x)");//示例初始化func 
var o = new Object();//示例初始化一个Object

2. JSON シンボルを使用する
JSON とは? JSON (JavaScript Object Notation) は、
JavaScript オブジェクト にちなんで命名された、読みやすい軽量のデータ交換形式です。と書くこともでき、解析と生成も簡単です。これは、「JavaScript プログラミング言語、標準 ECMA-262 第 3 版 - 1999 年 12 月」のサブセットに基づいています。 JSON は完全に言語に依存しないテキスト形式であるため、データ交換に理想的な形式です。
JSON は、JavaScript のコンポーネントとして、ActionScript、C、C#、ColdFusion、E、Java、JavaScript、ML、ObjectiveCAML、Perl、PHP、Python、Rebol、Ruby、 Lua など、JSON を作成する Ajax 開発の推奨ソリューションになります。

JSON を構築するには 2 つの方法があります。1 つは、さまざまな言語でオブジェクト、レコード、構造、辞書、ハッシュ テーブル、キー付きリスト、または関連付けとして理解される「キーと値のペア」の単純なコレクションを使用する方法です。配列など、もう 1 つは、ほとんどの言語が配列として理解する、順序付けられた値のリストを使用します。

一般的に使用される作成方法は最初の方法で、「キーと値のペア」のコレクションの形式です。この形式では、オブジェクトは「{」 (左括弧) で始まり、「}」 (右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「キー/値」のペアは「,」 (カンマ) で区切られます。

JSON には次の特徴があります:

  • シンプルなフォーマットのデータ交換;

  • 人々の読み書きの習慣に合わせやすい;

  • 機械の分析と操作が簡単。

JavaScript では、JSON はオブジェクトとして理解されます。

string 形式の JSON を通じて、データを JavaScript 専用に簡単に解析し、データを読み取って渡すことができます。 JSON を使用すると、JavaScript オブジェクトをシリアル化してパラメーターとして渡すことができないという問題がある程度解決されます。

1、単純な JSON

{name:"刘德华",age:"25",sex:"男"}

2、JSON 値のタイプJSON 値は、数値、浮動小数点、文字などの単純な
データ型、または配列にすることができます。そしてオブジェクト。たとえば、メンバー キー値として配列を持つ JSON:

{member:[{name:"刘德华"},{name:"郭富城"},{name:"张学友"},{name:"黎明"}]} 
{ 
book:[{name:"三国演义"},{name:"西游记"},{name:"水浒传"},{name:"红楼梦"}], 
author:[{name:"罗贯中"},{name:"吴承恩"},{name:"施耐安",{name:"曹雪芹"}}] 
}

3、JavaScript で JSON を使用する JSON は JavaScript ネイティブ形式です。つまり、JavaScript での JSON データの処理には特別な API やツールキットは必要ありません。 JavaScript デフォルトでは、JSON はオブジェクトとして扱われます。
オブジェクトを変数に渡します。例:

var somebooks = { 
book:[{name:"三国演义"},{name:"西游记"},{name:"水浒传"},{name:"红楼梦"}], 
author:[{name:"罗贯中"},{name:"吴承恩"},{name:"施耐安",{name:"曹雪芹"}}] 
}

JSON の各「キー」はオブジェクトのプロパティに相当します。たとえば、book の最初のエントリにアクセスするには、JavaScript では単に「somebooks. book[0].name」と入力し、「三國志」の値を取得します。

JSON 文字列をオブジェクトに変換するだけでなく、オブジェクトを JSON 文字列に「コンパイル」して、JavaScript でのオブジェクトの送信を容易にすることもできます。例:

var Animals = new Object(); 
Animals.name = "dog"; 
Animals.sex = "Male"; 
Animals.age = "2";

Animals オブジェクトをシリアル化して送信することはできません。 Animals オブジェクトを JSON 文字列、つまり "{name:"dog",sex:" Male", age:"2"}" に変換します。このようにして、JSON 文字列が HTTP リクエストのパラメーターとして渡され、Animals オブジェクトをシリアル化して送信するという目的が達成されます。


JSON は JavaScript オブジェクトを文字列形式で表現します。例:


var myObject = {nickname:"my girlfried",name:"big pig"};

JSON は、実際には JavaScript オブジェクトと文字列の間で変換するためのプロトコルとして機能します。 JSON の「見た目」は文字列として見えるため、JSON は JavaScript オブジェクトの送信において一定の役割を果たすことができます。たとえば、オブジェクト strObject を送信用の文字列に変換し、宛先に到着した後に eval メソッドを通じてオブジェクトに復元します。
function test (o) 
{ 
alert (o.name) 
} 
var strObject = '{nickname:"my girlfriend",name:"big pig"}'; 
test (eval("(" + strObject + ")"));

三、自定义对象构造
创建高级对象构造有两种方式:使用“this”关键字构造、使用原型prototype构造。如:

//使用this关键字定义构造的上下文属性 
function Girl() 
{ 
this.name = "big pig"; 
this.age = 20; 
this.standing; 
this.bust; 
this.waist; 
this.hip; 
} 
//使用prototype 
function Girl(){} 
Girl.prototype.name = "big pig"; 
Girl.prototype.age = 20; 
Girl.prototype.standing; 
Girl.prototype.bust; 
Girl.prototype.waist; 
Girl.prototype.hip; 
alert(new Girl().name);

上例中的两种定义在本质上没有区别,都是定义“Girl”对象的属性信息。“this”与“prototype”的区别主要在于属性访问的顺序。如:

function Test() 
{ 
this.text = function() 
{ 
alert("defined by this"); 
} 
} 
Test.prototype.test = function() 
{ 
alert("defined by prototype"); 
} 
var _o = new Test(); 
_o.test();//输出“defined by this”

当访问对象的属性或者方法是,将按照搜索原型链prototype chain的规则进行。首先查找自身的静态属性、方法,继而查找构造上下文的可访问属性、方法,最后查找构造的原型链。 

“this”与“prototype”定义的另一个不同点是属性的占用空间不同。使用“this”关键字,示例初始化时为每个实例开辟构造方法所包含的所有属性、方法所需的空间,而使用“prototype”定义,由于“prototype”实际上是指向父级的一种引用,仅仅是个数据的副本,因此在初始化及存储上都比“this”节约资源。

相关推荐:

在js语言中,一切都对象”,而且创建对象的方式也有很多种,所以今天我们做一下梳理最简单

JS对象创建常用方式有哪些?

以上がjs オブジェクトを作成するさまざまな方法が詳細に説明されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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