JavaScript Core--包装対象

3297 ワード

JavaScript包装対象
JavaScriptは対象に向けた言語で、使用」です.オペレータは対象の属性と方法にアクセスできます.基本タイプ(null、undefined、book、number、string)は値の種類であり、属性と方法はありません.
var s = 'test'; var s1 = s.substr(2);
結果は簡単ですが、よく考えてみると変です.stringは値の種類ではないですか?どのようにまた属性があって、また方法があります!実際には、基本タイプの値を読むたびに、バックグラウンドは対応する基本パッケージタイプのオブジェクトを作成し、いくつかの方法を呼び出すことができます.上のどの行のコードが実は下のコードによって実行されますか?
var s=new String('test');
var s1=s.substr(2) ;
s=null
引用タイプと基本包装タイプの主な違いは対象の生存期間です.newの例は、現在のスコープからストリームが離れる前にメモリに保存される.自動的に作成された基本パッケージタイプのオブジェクトは、行コードの実行瞬間のみに存在します.
文字列の属性と方法を引用すると、JavaScriptは文字列値をnew String(s)により内蔵対象のStringに変換し、参照が終了するとその対象は破棄されます.したがって、上のコードはStringオブジェクトのlength属性とindexOfメソッドを使用しています.
同様に、数字とブール値の処理も同様である.nullとundefinedは対応対象がありません.相手ができた以上、このようにしてもいいですか?
var s='this is a string';
s.len=10;
alert(s.len);
結果は10に戻りませんでした.undefinedです.恋人と約束したじゃないですか?先ほど述べたように、第二行コードは一時的なStringオブジェクトを作成しただけで、すぐに廃棄され、第三行コードはまた新しい一時的なオブジェクトを作成します.これが作成された臨時の対象は包装の対象となります.一行の簡単なコードにこんなに多くの姿勢が含まれているとは思いませんでした.
オブジェクトを内蔵
ボロア
Booleanオブジェクトは2つの値を表します.「true」または「false」.Boolean()は、コンストラクタとして呼び出されると、そのパラメータをブール値に変換し、その値を含むBooleanオブジェクトを返します.一つの関数(演算子newを持たない)として呼び出した場合、Boolean()は、そのパラメータを元のブール値に変換し、この値を返します.valueパラメータを省略するか、0、-0、null、「」、false、undefinedまたはNaNに設定すると、このオブジェクトはfalseに設定されます.trueに設定されていません(valueパラメータが文字列「false」であっても).Boolean オブジェクトを含む  toString 和  valueOf 方法、  Boolean 条件文で最もよく使われるtrueまたはfalse値の単純な判断は、ブール値と条件文の組み合わせがJavaScriptを使用して論理を作成する方法を提供する.
Number
Numberオブジェクトは、読み取り専用の属性をいくつか含む数値包装器です.MAX_VALUE:1.7976931348623157e+308 //JavaScript MIN_VALUE:5e-324 //JavaScript NEGATIVE_INFINITY:-Infiny // POSITIVE_INFINITY:Infinity // NaN:NaN // Number オブジェクトには、これらの方法で数値をフォーマットしたり、変換したりする方法があります.toExponential // toFixed // Number toPrecision // toString // valueOf // object StringString 対象はテキスト値の包装器です.テキストを格納する以外に、String オブジェクトは、テキストに関する情報を操作または収集するための属性および様々な方法を含むString. 対象が実用化されなくても使用できます.String オブジェクトは読み取り専用のlength属性のみで、文字列の長さを返します.Stringオブジェクトは多くの方法を持っています.charAt; i charCodeAt concat fromCharCode indexOf lastIndexOf match replace search slice split substr substring toLowerCase toUpperCase 包装の対象
上の3つのオブジェクト以外にも、JavaScriptはDate、Aray、Mathなどの内蔵オブジェクトを持っています.この3つはよく表示されていますので、よく知っています.
  Math.max(1,10,0)  Math.min()  Math.sqrt()//Numの平方根を返します.  Math.abs(num)//Numの絶対値を返します.  Math.ceeir()//切り下げ  Math.flor()///上へ切り捨てる  Math.round()//四捨五入  Math.random()//1つ(0,1)の間の乱数を返します.この方法で、ある整数範囲の乱数=Math.flor(Math.random()*総数+最初の可能な数を返します.  例えば、var num=Math.flor(Math.random()*10+1);1から10までの整数