Math,Date,JSONオブジェクト

5616 ワード

Mathオブジェクト
MathはJavaScriptの元のオブジェクトで、各種の数学機能を提供します.オブジェクトはコンストラクタではなく、インスタンスを生成できません.すべての属性と方法は、Mathオブジェクトで呼び出さなければなりません.
静的な属性
Mathオブジェクトの静的属性は、以下のいくつかの数学的定数を提供します.
Math.E:定数e
Math.LN 2:2の自然対数です.
Math.LN 10:10の自然対数です.
Math.LOG 2 E:2を底とするeの対数.
Math.LOG 10 E:10を底とするeの対数.
Math.PI:定数π.
Math.SQRT 1_2:0.5の平方根.
Math.SQRT 2:2の平方根.
Math.E/2.182828459045
Math.LN 2/0.691471805599453
Math.LN 10/2.3025850929946
Math.LOG 2 E/1.4426950408889634
Math.LOG 10 E/0.4342944819032518
Math.PI/3.141592653589793
Math.SQRT 1_2/0.7071107811865476
Math.SQRT 2/1.4142156237301
これらの属性は読み取り専用で、変更できません.
 
静的方法
Mathオブジェクトは以下の静的方法を提供する.
Math.abs():絶対値
Math.ceir():上に向かって整理する.
Math.flor():下に整えます.
Math.max():最大値
Math.min():最小値
Math.pow():最初のパラメータをベースとし、2番目のパラメータをべきとする指数値を返します.
Math.sqrt():パラメータ値の平方根を返します.パラメータが負の値である場合、NaNに戻る.
Math.log():方法はeを底とする自然対数を返します.
Math.exp()は、定数eのパラメータ次数を返します.
Math.round():四捨五入
Math.random():0から1までの間の疑似乱数を返します.0に等しいかもしれませんが、必ず1より小さいです.
 
三角関数の方法
Mathオブジェクトはまた、一連の三角関数法を提供する.
Math.sin():パラメータの正弦波を返します.(パラメータはラジアン値です.)
Math.com():パラメータのコサインを返します.(引数はラジアンです.)
Math.tan():パラメータのタンジェントを返します.
Math.asin():引数のアークサインを返します.
Math.acos():パラメータのアークコサインを返します.
Math.athan():引数の逆カット(戻り値はラジアン)を返します.
 
デートオブジェクト
Dateの対象はJavaScript原生のタイムライブラリです.国際標準時間(UTC)では1970年1月1日00:00を時間の0時とし、表示できる時間範囲は前後各1億日(単位はミリ秒)としています.
一般関数の使い方
Dateオブジェクトは、通常の関数として直接呼び出し、現在の時間を表す文字列を返します.パラメータが付いていても、Dateは普通の関数として使用する場合、戻りは現在の時間です.
Date()
//「Tue Dec 01 2015 09:34:43 GMT+0800(CST)」
 
コンストラクタの使い方
Dateは構造関数としても使用できる.これにnewコマンドを使うと、Dateオブジェクトの例が返されます.パラメータを追加しない場合、実例は現在の時間を表します.
var today=new Date();
Dateの例には独特なところがあります.他のオブジェクトが値を求める場合は、デフォルトで呼び出されます.valueOf()メソッドですが、Dateのインスタンスが値を求める場合は、デフォルトで呼び出されます.これは、Dateのインスタンスに対して値を求め、そのインスタンスに対応する時間を表す文字列を返します.構造関数として、Dateオブジェクトは複数のフォーマットのパラメータを受け取り、パラメータに対応する時間インスタンスを返します.
Date構造関数のパラメータについては、いくつか説明があります.
まず、パラメータは負の整数となります.1970年の元旦までの時間を表します.
第二のポイントは、Date.parse()メソッドによって解析できる文字列であれば、パラメータとして使用することができます.
第三に、パラメータが年、月、日などの複数の整数の場合、年と月は省略できません.他のパラメータは省略できます.つまり、この時に少なくとも2つのパラメータが必要です.「年」というパラメータだけを使うと、Dateはミリ秒数と解釈されます.
 
日付の演算
タイプ自動変換の場合、Dateインスタンスは数値に変換すると、対応するミリ秒数に等しいです.文字列に変換すると、対応する日付文字列と同じです.したがって、2つの日付インスタンスオブジェクトを減算すると、それらの間隔のミリ秒数が返されます.加算を行うと、2つの文字列を接続した新しい文字列が返されます.
var d 1=new Date(2000,2,1)
var d 2=new Date(2000,3,1)
d 2-d 1
//267840000
d 2+d 1
//「Sat Appr 01 2000:00 GMT+0800(CST)Wed Mar 01 2000:00:00 GMT+0800(CST)」
 
静的方法
Date.now方法は、現在の時間距離0(1970年1月1日00:00 UTC)のミリ秒数を返します.Unixタイムスタンプに相当して1000を掛けます.
Date.now()//13646426285194
 
Date.parse()
Date.parse方法は、日付文字列を解析して、その時間距離0秒(1970年1月1日00:00)のミリ秒数を返します.
日付文字列はRFC 2822とISO 8061の2つの基準、すなわちYYY-M-DDTHH:mm:s.sssZフォーマットに適合していなければなりません.最後のZはタイムゾーンを表します.ただし、他のフォーマットも解析できますので、以下の例を見てください.
Date.parse('Aug 9,1995')
Date.parse('Januar 26,2011 13:51:50')
解析に失敗したらNaNに戻ります.
Date.parse('xxx')/NaN
 
 
JSONオブジェクト
JSONフォーマット(JavaScript Object Notationの略語)はデータ交換のためのテキストフォーマットであり、2001年にDuglas Crockfordによって提出され、煩雑で重いXMLフォーマットに代わることを目的としています.
XML形式に比べて、JSON形式は2つの著しい利点があります.書くのが簡単で、一目で分かります.JavaScriptの原生文法に適合しています.エンジンを解釈して直接処理できます.別に解析コードを追加する必要はありません.したがって、JSONは迅速に受け入れられ、各大網駅のデータ交換の標準的なフォーマットとなり、標準的に書き込まれています.
各JSONオブジェクトは1つの値であり、おそらく1つの配列またはオブジェクトであり、元のタイプの値でもあります.つまり、一つの値しかないです.二つ以上の値ではいけません.
JSONは値の種類と書式に厳しい規定があります.
  • 複合タイプの値は、行列またはオブジェクトだけであり、関数、正規表現オブジェクト、日付オブジェクトではありません.
  • 元のタイプの値は4つしかない.文字列、数値(10進で表さなければならない)、ブール値、null(NaN、Infinity、-Infinity、undefinedは使用できない).
  • 文字列は二重引用符を使用しなければなりません.シングルクォーテーションマークは使用できません.
  • オブジェクトのキー名はダブルクォーテーションにしなければなりません.
  • 配列またはオブジェクトの最後のメンバーの後に、カンマを付けてはいけません.
  • 以下は合法的なJSONです.
    [「one」「two」「three」]
    {one”:1,“two”:2,“three”:3}
     
    JSONオブジェクト
    JSONオブジェクトはJavaScriptの元のオブジェクトで、JSONフォーマットのデータを処理するために使用されます.二つの静的方法があります.JSON.strigify()とJSON.parse().
     
    JSON.stringify()
    基本的な使い方
    JSON.strigify方法は、一つの値をJSON文字列に変換するために使用されます.この文字列はJSON形式に適合し、JSON.parse法によって還元される.
    JSON.strigify('abc')/''abc''
    JSON.strigify(1)//「1」
    JSON.strigify(false)/「false」
    JSON.strigify()/「[]」
    JSON.strigify({})/「{}」
    JSON.strigify([1]「false」false)
    //'[1]「false」「false」
    JSON.strigify({name:"张三")
    //'{「name」:「張三」}'
    上のコードは各種の値をJSON文字列に変換します.
    なお、元のタイプの文字列には、変換結果に二重引用符が付けられます.
    JSON.strigify('foo')==「foo」//false
    JSON.strigify('foo')==“\”foo\"////true
     
    配列のメンバがundefined、関数またはXMLオブジェクトである場合、これらの値はnullに変換される.
    var arr=[undefined];
    JSON.strigify//「[null,null]」
    正規のオブジェクトは空のオブジェクトに変換されます.
    JSON.strigify(/foo/)//「{}」
    JSON.strigify方法は、オブジェクトのエルゴードしない属性を無視します.
     
     
    JSON.パース()
    JSON.parse法は、JSON文字列を対応する値に変換するために用いられる.
    JSON.parse('}//{}
    JSON.parse('true')//true
    JSON.parse('"foo")/"foo"
    var o=JSON.parse('{name]:"张三");;
    o.name//張三
    入力された文字列が有効なJSON形式でない場合、JSON.parse方法はエラーとなります.
    JSON.parse(''String')//illegal single quot tes
    //SyntxError:Unxpected token ILLEGAL
    上のコードの中で、二重引用符文字列の中にはシングル引用符文字列があります.シングル引用符文字列はJSON形式に合わないため、エラーが発生しました.
    解析エラーを処理するために、JSON.parse方法をtry...catchコードブロックに置くことができます.
    try{
      JSON.parse(''String')
    }catch(e){
      consolie.log('parsing error')
    )