JavaScript パッケージング オブジェクト インスタンスの分析_JavaScript スキル

WBOY
リリース: 2016-05-16 16:07:15
オリジナル
1116 人が閲覧しました

この記事の例では、JavaScript パッケージ化オブジェクトの使用法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

js オブジェクトは複合値です。プロパティまたは名前付き値のコレクションです。

次のコードを参照してください:

var s = "hello world";
var len = s.length;
ログイン後にコピー

この例では、s は文字列であり、string はオブジェクトではありませんが、なぜ属性があるのでしょうか?実際、文字列 s のプロパティが参照されている限り、js は new String を呼び出して文字列をオブジェクトに変換し、そのオブジェクトは文字列のメソッドを継承し、プロパティの参照を処理するために使用されます。プロパティが参照されると、最後に、新しく作成されたオブジェクトは破棄されます (この一時オブジェクトは実装時に必ずしも作成または破棄されるわけではありませんが、全体のプロセスは次のようになります)。

文字列と同様、数値やブール値にも独自のメソッドがあります。一時オブジェクトは Number() シングルコア Boolean() コンストラクターを通じて作成され、これらのメソッドの呼び出しはすべてこの一時オブジェクトから行われます。 、null および未定義はオブジェクトをラッパーしません。そのプロパティにアクセスすると型エラーが発生します。
たとえば、次のコード:

var s0 = "hello world";
s0.len = 100;
var t = s.len; //t的值将为undefined
ログイン後にコピー

行 2 は一時オブジェクトを作成してすぐに破棄するため、行 3 は元の文字列値を使用して新しい文字列オブジェクトを作成し、その len 属性を読み取ろうとしますが、これは当然存在しません。このコードは、文字列、数値、ブール値のプロパティ値またはメソッドを読み取るときにオブジェクトのように動作する方法を示しています。ただし、そのプロパティに値を割り当てようとすると、この操作は無視されます。変更は一時オブジェクトに対してのみ発生し、一時オブジェクトは保持されません。
文字列、数値、またはブール値のプロパティにアクセスするときに一時的に作成される一時オブジェクトは、ラッパー オブジェクトと呼ばれます。
文字列オブジェクトを明示的に作成してそのプロパティを追加できます。当然、プロパティは保持されます。

var str = "hello world";
var objs = new String(str);
objs.len = 100;
var t = objs.len; //t将被赋值为100
ログイン後にコピー

js は、必要に応じてラップされたオブジェクトをプリミティブ値に変換するため、作成された表示オブジェクトとそれに対応するプリミティブ値は、常にではありませんが、多くの場合同じように動作します。 == 演算子は元の値とそのラップされたオブジェクトを等しいものとして扱いますが、=== 合同演算子はそれらを等しくないものとして扱います。さらに、typeof 演算子を使用して元の値とラップされたオブジェクトの違いを確認できます。

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

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