JavaScriptオブジェクトの詳しい説明

php中世界最好的语言
リリース: 2018-03-14 11:15:51
オリジナル
1652 人が閲覧しました

今回はJavaScriptのオブジェクトについて詳しく説明し、JavaScriptオブジェクトを使用する際の注意点について、実際の事例を交えて見ていきましょう。

1. オブジェクトは参照によって渡され、コピーされることはありません。

var x={};var stooge=x;
stooge['a']='aaa';console.log(x.a);//aaa
ログイン後にコピー

2. オブジェクトに create メソッドを追加して、コピー効果を実現することで、元のオブジェクトをプロトタイプとして新しいオブジェクトを作成できます。つまり、新しいオブジェクトの値を変更しても、そのオブジェクトのプロトタイプには影響しません。

if(typeof Object.beget!=='function'){Object.create=function(o){var F=function(){};
F.prototype=o;return new F();
    }
}var another_stooge=Object.create(stooge);
ログイン後にコピー

typeof は、オブジェクトのタイプを決定するために使用されます。 (プロトタイプチェーンをチェックします)
hasOwnProperty メソッドはプロトタイプチェーンをチェックしません。

4.for in を使用すると、オブジェクト内のすべてのプロパティ名を走査できますが、関数やプロトタイプ チェーンを含むプロパティも走査されます。この場合、typeof または hasOwnProperty を使用して不要な値を除外できます。 。

var name;for(name in another_stooge){if(typeof another_stooge[name] !=='function'){          console.log(name+':'+another_stooge[name])
      }
}
ログイン後にコピー

しかし、モード内の for 属性が現れる順序は不確かです。

forループはOKです。
配列を使用して変数値を保存し、for ループを使用して走査することをお勧めします。 (ただし、個人的には、オブジェクトにどのようなキー値があるのか​​わからないので、for in は依然として必要であると感じています。)

var arr=[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];for(var i=0;i<arr.length;i++){console.log(arr[i]+&#39;:&#39;+another_stooge[arr[i]]);
}
ログイン後にコピー

5.deleteoperator を使用して、オブジェクトの属性を削除できます。オブジェクトにこの属性が含まれている場合、プロパティは削除され、プロトタイプ チェーン内のどのオブジェクトにも触れなくなります。
オブジェクトのプロパティを削除すると、プロトタイプ チェーン内のプロパティが表示される場合があります。

6. グローバル変数の汚染を減らす。グローバル変数の使用を最小限に抑える 1 つの方法は、アプリケーションに一意のグローバル変数を 1 つだけ作成することです。他の変数または関数をこのグローバル変数の下に配置します。

var MyApp={};
MyApp.stooge={&#39;first-name:&#39;aaa&#39;
};
MyApp.flight=function(){}
ログイン後にコピー

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

css3の影の詳しい解説

JavaScript配列の使い方集

JavaScriptで見落としがちな知識ポイント

キャンバスを使って星空、月、を描く方法地球、テキストを追加

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート