ホームページ  >  記事  >  ウェブフロントエンド  >  jsオブジェクトの詳細な紹介

jsオブジェクトの詳細な紹介

零下一度
零下一度オリジナル
2017-06-28 09:36:061344ブラウズ

a. JS オブジェクトはすべて連想配列です

b. extend(); プロトタイプ オブジェクトのプロパティを継承する新しいオブジェクトを返します

オブジェクトのメソッド:

Create (作成) Set (設定) 検索 (クエリ) ) 削除(delete) 検出(テスト)と列挙(列挙)

オブジェクトの作成方法:

オブジェクト直接量 es5のキーワードnew Object.create()

var aa=Object.create({"x ":0 ,"y":1})

属性の読み取りと変更:

1. 接続属性は変更できず、実行時にも変更できません

2. オブジェクト['xxx'] を経由することができます。 、object['xx'+a]; など、a は変数にすることができるため、属性は不確実であり、操作中に変更することができます

3. 存在しない属性をクエリすると、未定義が返されます

4. クエリを実行するオブジェクトのプロパティの場合、オブジェクトが存在しない場合、エラーがスローされます。オブジェクトの属性をクエリして、オブジェクトがエラーを報告しないようにする場合は、次のようにすることができます:

var a=b&&b.c&&b.c.d;

属性の削除

1. 削除では、ホストからホストを切断することしかできません。オブジェクトは削除されませんが、属性内で属性を操作する場合、変数宣言または関数宣言によって作成されたグローバル オブジェクト属性は削除できません。成功した場合は true が返され、失敗した場合は false が返されます

delete a.b//a には属性がありません。 b

delete a['b']/ /a はプロパティを所有していません b

プロパティの検出

1.in 演算子、hasOwnProperty(),propertyIsEnumerable()

in の左側のプロパティ名、そして反対側はオブジェクトです。オブジェクト自身のプロパティまたは継承されたプロパティがこれを含む場合、プロパティは true を返し、それ以外の場合は false

var a={x:1} a.hasOwnPreperty('x');//true

propertyIsEnumerable( ) は hasOwnPreperty() の拡張版で、プロパティのみが列挙可能で、このオブジェクトに属する場合にのみ true を返します

2. 最も簡単なメソッドです! ==未定義ですか

属性の列挙

1. for/inでは、一部の属性をスキップする必要があります

for(p in o) {

if(! o.hasOwnproperty(p)) continue ;//継承プロパティをスキップ

}

for(p in o){

if(typeof o[p]==="function") continue ;//メソッドをスキップ

}

2. es5にはさらに2つの関数があります

Object.keys();//オブジェクトの列挙可能な独自のプロパティで構成される配列を返します

Object.getOwnPropertyNames();//オブジェクトの名前を返しますオブジェクト内のすべての独自のプロパティ

属性ゲッターとセッター (アクセサー属性)

1.var 0={

a:1,//通常のデータ属性

器取 // アクセサー属性はすべて定義された関数です

get B () {これが関数本体です},

set c () {ここが関数本体です}} 属性

1. プロトタイプ属性:

var p={x:1};//プロトタイプを定義するobject

var o=Object.create(p); このプロトタイプを使用してオブジェクトを作成します

p.isPrototypeOf(0 );//true,o から継承します

Object.prototype.isPrototypeOf(o); //p Object.prototypeを継承

2. クラス属性

3. 拡張性 Object.esExtensible()にオブジェクトを渡すことで、オブジェクトが拡張可能かどうかを判定

Object.prevenExtensions()には変換されたオブジェクトをパラメータとして渡し、変換された結果を元に戻すことはできないことに注意してください

Object.seal()だけでなく、オブジェクトを拡張不可能にすることができ、そのオブジェクト自体のプロパティをすべて構成不可能にすることができます

isSealed( ) オブジェクトが閉じられているかどうかを検出します

Object.freeze() 設定不可能なだけでなく読み取り可能にも凍結します

Object.isFrozen() オブジェクトが凍結されているかどうかを確認します

オブジェクトのシリアル化

1:JSON.stringify( );//JSON文字列に変換

2::JSON.parse();//オブジェクトに変換

オブジェクトメソッド:

1.toString();

2.toLocaleString();

3.toJSON ();

4:valueOf();

以上がjsオブジェクトの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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