JavaScript引用タイプの基本包装タイプ例分析【Boolean、Number、String】
8207 ワード
本論文の実例はJavaScript引用タイプの基本包装タイプを述べている.皆さんに参考にしてあげます.具体的には以下の通りです.
基本タイプ値を操作するために、ECDMMAScriptは3つの特殊な参照タイプを提供しています.基本包装タイプのBoolean、Number、String.基本タイプの値を読み出すたびに、バックグラウンドは対応する基本パッケージタイプのオブジェクトを作成します.
(1)対象の生存期間
newオペレータによって作成された参照タイプの例は、フローが現在のスコープから離れる前にメモリに存在していますが、自動的に作成された基本パッケージタイプのオブジェクトは、コード実行の瞬間だけに存在し、すぐに破棄されます.つまり、実行時には基本パッケージタイプに属性と方法を追加することはできません.
Objectコンストラクタは、着信値の種類に応じて、それぞれの基本的なパッケージタイプの例を返します.
2、Numberタイプ
継承の方法に加えて、Numberは数値を文字列にフォーマットする方法を提供しています.
(1)
(2)
(3)
3、Steringタイプ
(1)Stringタイプの例の属性.
length属性:文字列に含まれる文字の個数を表します.
(2)Stringタイプの例の方法.
---文字の方法
文字列自体の値は変更されません.サブ文字列だけを返します.元の文字列には影響がありません.
1)
2)
---文字列の操作方法
1)
2)
---文字列の位置方法
与えられたサブ文字列を検索して、サブ文字列の位置を返します.検索されない場合は-1を返します.最初のパラメータは検索のサブ文字列を指定し、2番目のパラメータはオプションとして、検索開始の位置を指定します.
1)
2)
---
文字列のコピーを作成し、プレフィックスとサフィックスのスペースを削除し、新しい文字列を返します.元の文字列は変わりません.
---文字列の大文字小文字変換方法
1)
2)
3)
4)
---文字列パターンマッチング方法
1)
2)
3)
a、2番目のパラメータが文字列の場合は、特殊な文字列を使用して、正規表現動作で得られた値を結果文字列に挿入します.
特殊な文字列
テキストを置換
$
$
$
モード全体にマッチするサブ文字列
$
マッチするサブ文字列の前のサブ文字列
$
マッチしたサブ文字列の後のサブ文字列
$n
n番目のサブモードにマッチするサブ文字列は、nは0-9に等しい.正規表現ではサブモードが定義されていない場合は、空の文字列が使用されます.
$nn
nn番目のサブモードにマッチするサブ文字列は、nnが01-99に等しいです.正規表現ではサブモードが定義されていない場合は、空の文字列を使用します.
一つの整合項(すなわちモードにマッチする文字列)だけがある場合、3つのパラメータ――モードの整合性、モードマッチング項目の文字列内の位置と元の文字列が関数に伝達されます.正規表現で複数のサブモードが定義されている場合、関数に伝達されるパラメータは、モードのマッチング項目、第一のサブモードのマッチング項目、第二のサブモードのマッチング項目、・・・、パターンマッチング項目は、文字列内の位置と元の文字列である.置換テキストを返します.
---locale Compare()方法:
2つの文字列を比較します.文字列が文字列のパラメータの前に並べば、負の値を返します.その後、正の値を返します.ほとんどは1です.等しい場合は0を返します.
Stringクラスの静的方法は、1つ以上の文字コードを受信し、文字列に変換し、
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます.
基本タイプ値を操作するために、ECDMMAScriptは3つの特殊な参照タイプを提供しています.基本包装タイプのBoolean、Number、String.基本タイプの値を読み出すたびに、バックグラウンドは対応する基本パッケージタイプのオブジェクトを作成します.
var str = "Hello world";
var substr = str.substring();
に等しい
var str = new String("Hello world");// String
var substr = str.substring();// substring()
str = null;//
基本包装のタイプは特殊な参照タイプで、参照のタイプと基本包装のタイプの違いは以下の通りです.(1)対象の生存期間
newオペレータによって作成された参照タイプの例は、フローが現在のスコープから離れる前にメモリに存在していますが、自動的に作成された基本パッケージタイプのオブジェクトは、コード実行の瞬間だけに存在し、すぐに破棄されます.つまり、実行時には基本パッケージタイプに属性と方法を追加することはできません.
var str1 = "Hello world";
var str2 = new String("Hello World");
str1.life = 20;
str2.life = 20;
alert(str1.life);//undefined
alert(str2.life);//20
(2)instance ofオペレータ試験結果instanceof
オペレータを使用して基本的な包装タイプをテストすると、trueに戻り、テストの基本タイプ値はfalseに戻ります.
var str1 = "Hello World";
var str2 = new String("Hello world");
alert(str1 instanceof String);//false
alert(str2 instanceof String);//true
Boolean、Number、Stringを明示的に呼び出して基本的なパッケージタイプのオブジェクトを作成することができますが、できるだけしないでください.このようにすると、基本タイプを処理しているかそれとも引用タイプを区別しにくいからです.Objectコンストラクタは、着信値の種類に応じて、それぞれの基本的なパッケージタイプの例を返します.
var str = new String("Hello world");
alert(str instanceof String);//true
var num = new Number(16);
alert(num instanceof Number);//true
var bool = new Boolean(true);
alert(bool instanceof Boolean);//true
基本パッケージタイプの例に対してtypeOf()
メソッドを呼び出すと、「Object」に戻ります.インスタンス変数には基本タイプの値が保存されています.
var str = new String("Hello world");
alert(typeof str);//object
var num = new Number(16);
alert(typeof num);//object
var boolean = new Boolean(true);
alert(typeof boolean);//object
new
オペレータを使用して、基本的な包装タイプの構造関数を呼び出し、同じ名前の変換関数を直接呼び出した場合とは異なり、変数に保存されているのは基本的な包装タイプの例である.
var str = String("Hello world");
alert(typeof str);//string
var num = Number(16);
alert(typeof num);//number
var bool = Boolean(true);
alert(typeof bool);//boolean
すべての基本的なパッケージタイプのオブジェクトは、ブールタイプに変換された時点でtrueです.
var boolean1 = new Boolean(false);
alert(boolean1);//false
alert(boolean1 && true);//true
var boolean2 = new Boolean(0);
alert(boolean2);//false
alert(boolean2 && true);//true
var boolean3 = new Boolean("");
alert(boolean3);//false
alert(boolean3 && true);//true
1、Booleanタイプ
var boolean = new Boolean(true);
Booleanタイプの例は、valueOf()
方法を書き換え、対応する基本タイプ値trueとfalseを返す.toString()
方法を書き換えて、文字列「true」と「false」を返します.2、Numberタイプ
var num = new Number(16);
Numberタイプも引き継ぎvalueOf()
、toString()
、toLocaleString()
方法を書き換え、書き換えたvalueOf()
方法は対応する基本タイプ値を返し、他の2つの方法は対応する文字列を返す.toString()方法のために基数を表すパラメータを伝達することができる.継承の方法に加えて、Numberは数値を文字列にフォーマットする方法を提供しています.
(1)
toFixed()
方法:入力されたパラメータは小数点以下で、数値の文字列表現を返します.(2)
toExponential()
方法:入力されたパラメータは小数点以下であり、指数表現法で表される数値の文字列形式を返します.(3)
toPrecision()
方法:入力されたパラメータは値のすべての配列数であり、指数部分を含まず、指定されたフォーマットの文字列表現を返します.3、Steringタイプ
var str = new String("Hello world");
Stringタイプの継承valueOf()
、toString()
、toLocaleString()
は、オブジェクトが表す文字列値を返す.(1)Stringタイプの例の属性.
length属性:文字列に含まれる文字の個数を表します.
(2)Stringタイプの例の方法.
---文字の方法
文字列自体の値は変更されません.サブ文字列だけを返します.元の文字列には影響がありません.
1)
charAt()
方法:着信パラメータは0の文字位置に基づいて、所定の位置の文字を返す.2)
charCodeAt()
方法:着信パラメータは0の文字位置に基づいて、所定の位置の文字符号化を返す.---文字列の操作方法
1)
concat()
方法:入力されたパラメータは任意の複数の文字列であり、スティッチングされた文字列を返します.2)
substr()
、slice()
、substring()
方法:3つのサブ文字列に基づいて新しい文字列を作成する方法で、1つまたは2つのパラメータが入ってきて、サブ文字列を返します.第1のパラメータは、サブ文字列の開始位置を指定し、第2のパラメータはオプションとして、slice()
およびsubstring()
の第2のパラメータは、サブ文字列の終了位置を指定し、substr()の第2のパラメータは、サブ文字列の長さを指定する.着信パラメータが負の数である場合、slice()
方法は負の値を文字列の長さに加算し、substr()
方法は第1の負の値を文字列の長さに加算し、第2の負の値を0に変換し、substring()
方法は負の値をすべて0に変換する.---文字列の位置方法
与えられたサブ文字列を検索して、サブ文字列の位置を返します.検索されない場合は-1を返します.最初のパラメータは検索のサブ文字列を指定し、2番目のパラメータはオプションとして、検索開始の位置を指定します.
1)
indexOf()
方法:最初から後へ検索する.2)
lastIndexOf()
方法:後から前へ検索する.---
trim()
方法文字列のコピーを作成し、プレフィックスとサフィックスのスペースを削除し、新しい文字列を返します.元の文字列は変わりません.
---文字列の大文字小文字変換方法
1)
toLowerCase()
方法:共通の小文字変換方法.2)
toUpperCase()
方法:共通の大文字変換方法.3)
toLocaleLowerCase()
方法:特定の領域に対する小文字変換方法.4)
toLocaleUpperCase()
方法:特定の地域に対する大文字変換方法.---文字列パターンマッチング方法
1)
match()
方法:文字列でmatch()を呼び出す方法は、RegExpの例でexec()を呼び出す方法と同じである.1つのパラメータを受信します.正規表現またはRegExpオブジェクトです.配列を返します.配列の最初の項目はモード全体にマッチする文字列で、その後の各項目は各サブモードにマッチする文字列です.2)
search()
方法:最初から後へ検索する.1つのパラメータを受信します.正規表現またはRegExpオブジェクトです.最初のマッチ項目の索引を返します.マッチ結果が見つからない場合は-1を返します.3)
replace()
方法:文字列の置換.2つのパラメータを受信します.第1のパラメータは正規表現またはRegExpオブジェクトまたは文字列です.文字列は正規表現に変換されません.第2のパラメータは文字列または関数です.最初のパラメータが文字列であれば、最初のサブ文字列だけが置換されます.したがって、サブ文字列を置換するには、gマーク付きのRegExpオブジェクトが必要です.a、2番目のパラメータが文字列の場合は、特殊な文字列を使用して、正規表現動作で得られた値を結果文字列に挿入します.
特殊な文字列
テキストを置換
$
$
$
モード全体にマッチするサブ文字列
$
マッチするサブ文字列の前のサブ文字列
$
マッチしたサブ文字列の後のサブ文字列
$n
n番目のサブモードにマッチするサブ文字列は、nは0-9に等しい.正規表現ではサブモードが定義されていない場合は、空の文字列が使用されます.
$nn
nn番目のサブモードにマッチするサブ文字列は、nnが01-99に等しいです.正規表現ではサブモードが定義されていない場合は、空の文字列を使用します.
var str = "cat, fat, eat";
var result = str.replace(/(.at)/g, "my($1)");
alert(result);//my(cat), my(fat), my(eat)
b、2番目のパラメータが関数の場合、より細かい置換動作が可能です.一つの整合項(すなわちモードにマッチする文字列)だけがある場合、3つのパラメータ――モードの整合性、モードマッチング項目の文字列内の位置と元の文字列が関数に伝達されます.正規表現で複数のサブモードが定義されている場合、関数に伝達されるパラメータは、モードのマッチング項目、第一のサブモードのマッチング項目、第二のサブモードのマッチング項目、・・・、パターンマッチング項目は、文字列内の位置と元の文字列である.置換テキストを返します.
var str = "link";
var result = str.replace(/[<>"&]/g, function(match, positon, originalStr) {
switch(match) {
case "":
return ">";
case "&":
return "&";
case "\"":
return """;
}
});
alert(result);//link
4)split()
方法:最初のパラメータはセパレータ(文字列またはRegExpオブジェクト、文字列は正規表現に変換されません)であり、2番目のパラメータはオプションであり、戻りの文字列配列のサイズを指定します.分割後の文字列配列を返します.
var strs1 = str.split("|", 2);//["cat","fat","eat"]
var str = "cat|fat|eat";
var strs1 = str.split("|");
alert(strs1);//cat,fat,eat
var strs2 = str.split("|", 2);
alert(strs2);//cat,fat
var strs3 = str.split(/[^\|]+/);
alert(strs3);//,|,|,
sts 3のセパレータは「cat」、「fat」、「eat」であるため、返ってくる配列の第一項と最後の時空文字列.---locale Compare()方法:
2つの文字列を比較します.文字列が文字列のパラメータの前に並べば、負の値を返します.その後、正の値を返します.ほとんどは1です.等しい場合は0を返します.
alert("world".localeCompare("hello"));//1
---from CharCode()方法:Stringクラスの静的方法は、1つ以上の文字コードを受信し、文字列に変換し、
charCodeAt()
とは逆の動作である.
alert(String.fromCharCode(104, 101, 108, 108, 111));//"hello"
JavaScript関連の内容について興味がある方は、本駅のテーマを確認してください.「javascript対象入門教程」、「JavaScript常用関数技術まとめ」、「JavaScriptエラーとデバッグ技術まとめ」、「JavaScriptデータ構造とアルゴリズム技術まとめ」、「JavaScriptページ要素操作技術まとめ」及び「Javapt DOM操作技術まとめ」本論文で述べたように、JavaScriptプログラムの設計に役に立ちます.