JavaScriptの世界では、すべてがオブジェクトです。
しかし、いくつかのオブジェクトはまだ他のオブジェクトとは異なります。オブジェクトのタイプを区別するために、 typeof演算子を使用して、常に文字列を返すオブジェクトのタイプを取得します。
Typeof 123; // 'number'typeof nan; // 'number'typeof' str '; // 'string'typeof true; // 'boolean'typeof undefined; // 'undefined'typeof math.abs; // 'function'typeof null; // 'object'typeof []; // 'object'typeof {}; // 'object' typeof {}; // '物体'ご覧のとおり、 number 、 string 、 boolean 、 function 、 undefinedは他のタイプとは異なります。 nullのタイプはobjectであり、 Arrayのタイプもobjectです。 typeofを使用する場合、通常の意味でnull 、 Array 、およびオブジェクトを区別することはできません - {} 。
パッケージングオブジェクト
number 、 boolean 、 stringにはラッパーオブジェクトがあります。はい、JavaScriptでは、文字列もstringタイプとそのラッパータイプを区別します。ラッピングオブジェクトはnewで作成されます:
var n = new Number(123); // 123、新しいパッケージングタイプが生成されましたvar b = new boolean(true); // true、新しいパッケージングタイプが生成されましたvar s = new String( 'str'); //「str」、新しいパッケージングタイプが生成されました
ラッパーオブジェクトは元の値とまったく同じように見え、まったく同じ表示されますが、そのタイプはobjectになりました!したがって、 ===でラッピングオブジェクトを元の値と比較すると、 falseが返されます。
Typeof New Number(123); // 'object'new番号(123)=== 123; // falseTypeof New Boolean(True); // 'object'new boolean(true)=== true; // falsetypeof new String( 'str'); // 'object'new string(' str ')===' str '; // 間違い
アイドルを感じても、パッケージオブジェクトを使用しないでください!特に文字列タイプの場合! ! !
日付
JavaScriptでは、 Dateオブジェクトが日付と時間を表すために使用されます。
システムの現在の時刻を取得するには、次を使用します。
var now = new date(); now; // 2015年6月24日水19:49:22 GMT+0800(CST)Now.GetThyEar(); // 2015、year now.getmonth(); // 5、月、月範囲は0〜11、5は6月Now.getDate()を意味することに注意してください。 // 24、24th now.getday(); // 3、水曜日のNow.gethours()を意味します。 // 19、24時間Now.GetMinutes(); // 49、minute now.getSeconds(); // 22、seconds now.getMilliseConds(); // 875、milliseconds now.getTime(); // 1435146562875、数が表されるタイムスタンプ
現在の時刻は、ブラウザがローカルオペレーティングシステムから取得する時間であるため、ユーザーが現在の時間を任意の価値に設定できるため、必ずしも正確ではないことに注意してください。
指定された日付と時刻でDateオブジェクトを作成する場合は、以下を使用できます。
var d = new Date(2015、5、19、20、15、30、123);
非常に詐欺されていることを観察したかもしれません。つまり、JavaScriptの月の範囲は整数、0〜11、0から1月、1月から2月に表されます。これは間違いなく、JavaScriptのデザイナーが当時脳のけいれんを持っていたものですが、今それを修正することは不可能です。
指定された日付と時刻を作成する2番目の方法は、ISO 8601形式に準拠する文字列を解析することです。
var d = date.parse( '2015-06-24t19:49:22.875+08:00'); d; // 1435146562875
しかし、それはDateオブジェクトではなく、タイムスタンプを返します。しかし、タイムスタンプでは、 Dateに簡単に変換できます。
var d = new Date(1435146562875); d; // 2015年6月24日19:49:22 GMT+0800(CST)
タイムゾーン
Dateオブジェクトで表される時間は常にブラウザのタイムゾーンに従って表示されますが、ローカル時間と調整されたUTC時間の両方を表示できます。
var d = new Date(1435146562875); d.tolocalestring(); // '2015/6/24 7:49:22 PM'、現地時間(北京タイムゾーン+8:00)、表示された文字列はオペレーティングシステムD.ToutCString()によって設定された形式に関連しています。 // '水曜日、2015年6月24日11:49:22 GMT'、UTC時間、現地時間から8時間離れて
では、JavaScriptのタイムゾーンを変換する方法は?実際、 numberタイプのタイムスタンプを通過している限り、タイムゾーンの変換を気にする必要はありません。ブラウザは、タイムスタンプを現地時間に正しく変換できます。
そのため、タイムスタンプを通過するか、データベースからタイムスタンプを読み取り、JavaScriptを現地時間に自動的に変換するだけです。
現在のタイムスタンプを取得するには、使用できます。
if(date.now){alert(date.now()); // IEの古いバージョンにはnow()method} else {alert(new date()。gettime());}はありません。JSON
JSONでは、いくつかのデータ型しかありません。
•番号:JavaScript番号とまったく同じです。
•Boolean:JavaScriptのTrueまたはFalseです。
•文字列:JavaScript文字列です。
•null:javascriptのnullです。
•配列:JavaScriptアレイ表現方法 - [];
•オブジェクト:それは{...} javascriptの表現です。
上記の任意の組み合わせ。
シリアル化
最初にXiao MingオブジェクトをJSON文字列にシリアル化しましょう。
var xiaoming = {name: 'xiao ming'、age:14、gender:true、height:1.65、grade:null、 'middle-school': '/"w3c/" Middle School'、skills:['javascript'、 'java'、 'python'、 'lisp']};使用JSON.stringify()之后:
json.stringify(xiaoming); // '{"name": "Xiao ming"、 "age":14、 "gender":true、 "height":1.65、 "grade":null、 "null、" middle-school ":"/"w3c/" middle School "、" skills ":[" javascript "、" java "、" python "、" lisp "}' lisp"} 'lisp "出力を改善するには、パラメーターを追加して出力をインデントできます。
json.stringify(xiaoming、null、 '');
結果:
{"name": "Xiao ming"、 "age":14、 "gender":true、 "height":1.65、 "grade":null、 "middle-school": "/" w3c/"Middle School"、 "Skills":["Javascript"、 "Java"、 "Python"、 "lisp"]} 2番目のパラメーターは、オブジェクトのキー値をフィルタリングする方法を制御するために使用されます。指定された属性のみを出力する場合は、 Arrayに渡すことができます。
json.stringify(xiaoming、['name'、 'skills']、 '');
結果:
{"name": "xiao ming"、 "skills":["javascript"、 "java"、 "python"、 "lisp"]}また、オブジェクトの各キー値ペアが最初に関数によって処理されるように、関数を渡すこともできます。
function convert(key、value){if(typeof value === 'string'){return value.touppercase(); } return値;} json.stringify(xiaoming、convert、 '');上記のコードは、すべての属性値を大文字に変えます。
{"name": "Xiao ming"、 "age":14、 "gender":true、 "height":1.65、 "grade":null、 "middle-school": "/" w3c/"Middle School"、 "Skills":["Javascript"、 "Java"、 "Python"、 "lisp"]} Xiao Mingのシリアル化方法も正確に制御したい場合は、 xiaomingのtoJSON()メソッドを定義し、JSONがシリアル化するデータを直接返すことができます。
var xiaoming = {name: 'xiao ming'、age:14、gender:true、height:1.65、grade:null、 'middle-school': '/"w3c/" Middle School'、['javascript'、 'java'、 'python'、 'lisp']、furnce(und eas a reas(eas of of of of of of of of seen of of of seen of of seen of of shing)、 'java'、 'lisp'] 'name':this.name、 'age':this.age}; }}; json.stringify(xiaoming); // '{"name": "xiao ming"、 "age":14}'敏arialialization
JSON形式の文字列を取得すると、 JSON.parse()を直接使用してJavaScriptオブジェクトに変換します。
json.parse( '[1,2,3、true]'); // [1、2、3、true] json.parse( '{"name": "xiao ming"、 "age":14}'); // object {name: 'xiao ming'、age:14} json.parse( 'true'); // truejson.parse( '123.45'); // 123.45 JSON.parse() 、解析されたプロパティを変換する関数を受信することもできます。
json.parse( '{"name": "xiao ming"、 "age":14}'、function(key、value){// put number * 2:if(key === 'name'){return value + 'sudent';} return値;}); // object {name: 'Student Xiao Ming'、age:14}上記の記事では、JavaScriptの標準オブジェクトが私があなたと共有するすべてのコンテンツについて簡単に説明しています。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。