javascript包装対象例分析
1386 ワード
本論文の実例はjavascript包装対象の使い方を述べている.皆さんの参考にしてください.具体的な分析は以下の通りです.
jsオブジェクトは、集合に値する属性または名前がついている複合値である.
以下のコードを参照してください.
文字列と同じように、数字とブール値もそれぞれの方法を持っています.Number()単一核Boolean()コンストラクタによって一時的なオブジェクトを作成します.これらの方法の呼び出しはこの一時的なオブジェクトから来ています.しかし、nullとundefinedは対象を包装していません.彼らの属性を訪問すると、タイプのエラーが発生します.たとえば以下のコード:
本論文で述べたように、皆さんのjavascriptプログラムの設計に役に立ちます.
jsオブジェクトは、集合に値する属性または名前がついている複合値である.
以下のコードを参照してください.
var s = "hello world";
var len = s.length;
この例では、sは対象ではなく文字列であるが、なぜ属性があるのか?実際に文字列sの属性を引用すると、jsはnew String(s)を呼び出すことによって文字列をオブジェクトに変換し、オブジェクトは文字列の方法を継承し、属性の参照を処理するために使用される.属性参照が終了すると、この新規作成の対象は破棄されます.(この一時的なオブジェクトを作成または廃棄するとは限らないが、全体のプロセスはこのように見えます.)文字列と同じように、数字とブール値もそれぞれの方法を持っています.Number()単一核Boolean()コンストラクタによって一時的なオブジェクトを作成します.これらの方法の呼び出しはこの一時的なオブジェクトから来ています.しかし、nullとundefinedは対象を包装していません.彼らの属性を訪問すると、タイプのエラーが発生します.たとえば以下のコード:
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プログラムの設計に役に立ちます.