In der Welt von JavaScript ist alles ein Objekt.
Einige Objekte unterscheiden sich jedoch immer noch von anderen. Um den Typ eines Objekts zu unterscheiden, verwenden wir typeof -Operator, um den Typ des Objekts zu erhalten, der immer eine Zeichenfolge zurückgibt:
Typ 123; // 'number'typeof nan; // 'number'typeof' str '; // 'String'typeof True; // 'boolean'typeof undefined; // 'undefined'typeof Math.abs; // 'function'typeof null; // 'Object'typeof []; // 'Object'typeof {}; // 'Objekt' typeof {}; // 'Objekt' Wie zu sehen ist, unterscheiden sich number , string , boolean , function und undefined von anderen Typen. Achten Sie besonders auf die Art des null , object ist, und die Art des Array ist ebenfalls object . Wenn wir typeof verwenden, können wir null , Array und Objekt im üblichen {} nicht unterscheiden.
Verpackungsobjekt
number , boolean und string haben Wrapper -Objekte. Ja, in JavaScript unterscheiden Strings auch zwischen string -Typen und seinen Wrapper -Typen. Das Verpackungsobjekt wird mit new erstellt:
var n = neue Zahl (123); // 123 wurde ein neuer Verpackungstyp erzeugt var b = neuer boolean (true); // True wurde ein neuer Verpackungstyp erzeugt var s = new String ('str'); // 'str', wurde ein neuer Verpackungstyp generiert Obwohl das Wrapper -Objekt genauso aussieht wie der ursprüngliche Wert und genau gleich angezeigt wird, ist sein Typ zu object geworden! Der Vergleich des Verpackungsobjekts mit dem ursprünglichen Wert mit === gibt false zurück:
typeof neue Nummer (123); // 'Object'New Number (123) === 123; // falsetypeof neuer boolean (true); // 'Object'New Boolean (true) === true; // falsetypeof neuer String ('str'); // 'Object'New String (' str ') ===' str '; // FALSCHVerwenden Sie also nicht das Verpackungsobjekt, auch wenn Sie sich untätig fühlen! Besonders für String -Typen! ! !
Datum
In JavaScript wird das Date verwendet, um Daten und Zeiten darzustellen.
Um die aktuelle Zeit des Systems zu erhalten, verwenden Sie:
var nun = new Date (); jetzt; // Mi 24. Juni 2015 19:49:22 GMT+0800 (CST) Now.GetingFoyear (); // 2015, now.getMonth (); // 5, Monat, beachten Sie, dass der Monatsbereich 0 ~ 11, 5 bedeutet June jetzt.GetDate (); // 24 bedeutet nun 24.. // 3 bedeutet jetzt Mittwoch.Gethours (); // 19, 24-Stunden jetzt.getminutes (); // 49, Minute Now.getSeconds (); // 22, Sekunden jetzt.getMillisekunden (); // 875, Millisekunden jetzt.getTime (); // 1435146562875, Zeitstempel in Nummer dargestellt
Beachten Sie, dass die aktuelle Zeit die Zeit ist, die der Browser vom lokalen Betriebssystem erhält, sodass er nicht unbedingt korrekt ist, da der Benutzer die aktuelle Zeit auf einen beliebigen Wert festlegen kann.
Wenn Sie ein Date mit einem bestimmten Zeitpunkt erstellen möchten, können Sie:
var d = neues Datum (2015, 5, 19, 20, 15, 30, 123);
Möglicherweise haben Sie eine sehr, sehr betrogene, dh die Monatespanne von JavaScript beobachtet, die von Ganzzahlen von 0 bis 11, 0 bis Januar und von 1 bis Februar dargestellt wird. Dies ist definitiv etwas, das der Designer von JavaScript zu dieser Zeit ein Gehirn zuckte, aber es ist unmöglich, es jetzt zu beheben.
Die zweite Möglichkeit, ein bestimmtes Datum und eine bestimmte Uhrzeit zu erstellen, besteht darin, eine Zeichenfolge zu analysieren, die dem ISO 8601 -Format entspricht:
var d = date.parse ('2015-06-24t19: 49: 22.875+08: 00'); D; // 1435146562875 Aber es gibt kein Date -Objekt zurück, sondern einen Zeitstempel. Mit einem Zeitstempel kann es jedoch leicht zu einem Date umgewandelt werden:
var d = neues Datum (1435146562875); D; // Mi 24. Juni 2015 19:49:22 GMT+0800 (CST)
Zeitzone
Die bis Date dargestellte Zeit wird immer gemäß der Zeitzone des Browsers angezeigt. Wir können jedoch sowohl die lokale als auch die angepasste UTC -Zeit anzeigen:
var d = neues Datum (1435146562875); D.Tolocalestring (); // '2015/6/24 7:49:22 PM', lokale Zeit (Peking -Zeitzone +8: 00), die angezeigte Zeichenfolge bezieht sich auf das vom Betriebssystem d.toutcstring () festgelegte Format; // 'Mi, 24. Juni 2015 11:49:22 GMT', UTC -Zeit, 8 Stunden abgesehen von der Ortszeit
Wie kann man Zeitzonen in JavaScript konvertieren? Solange wir einen number übergeben, müssen wir uns nicht um die Umwandlung von Zeitzonen kümmern. Jeder Browser kann einen Zeitstempel korrekt in die lokale Zeit umwandeln.
Wir müssen also nur den Zeitstempel übergeben oder den Zeitstempel aus der Datenbank lesen und dann das JavaScript automatisch in lokale Zeit umwandeln.
Um den aktuellen Zeitstempel zu erhalten, können Sie verwenden:
if (date.now) {alert (date.now ()); // Die alte Version von IE hat nicht die now () -Methode} else {alert (neues Datum (). GetTime ());}JSON
In JSON gibt es nur wenige Datentypen:
• Nummer: Es ist genau das gleiche wie die JavaScript -Nummer;
• Boolean: Es ist wahr oder falsch von JavaScript;
• String: Ist JavaScript String;
• NULL: Ist Null von JavaScript;
• Array: Es ist die JavaScript -Array -Repräsentationsmethode - [];
• Objekt: Es ist die {...} Darstellung von JavaScript.
und eine beliebige Kombination oben.
Serialisierung
Lassen Sie uns zunächst das Xiao Ming -Objekt in eine JSON -Zeichenfolge serialisieren:
var xiaoming = {name: 'xiao ming', Alter: 14, Geschlecht: Richtig, Höhe: 1.65, Klasse: NULL, 'Middle-School': '/"W3c/" Mittelschule', Fähigkeiten: ['JavaScript', 'Java', 'Python', 'lisp']};使用JSON.stringify()之后:
JSON.Stringify (Xiaoming); // '{"Name": "Xiao Ming", "Alter": 14, "Geschlecht": wahr, "Höhe": 1.65, "Klasse": null, "Mittelschule": "/" W3C/"Mittelschule", "Fähigkeiten": ["JavaScript", "Java", Python "," lisp "]}}}}Um besser auszugeben, können Sie Parameter hinzufügen und die Ausgabe einlegen:
Json.Stringify (Xiaoming, Null, '');
Ergebnis:
{"Name": "Xiao Ming", "Alter": 14, "Geschlecht": wahr, "Höhe": 1,65, "Klasse": null, "Mittelschule": "/" w3c/"Mittelschule", "Fähigkeiten": ["Javascript", "Java", "Python", "lisp"]}}}}}}}}}}}}}} Der zweite Parameter wird verwendet, um zu steuern, wie die Schlüsselwerte des Objekts gefiltert werden. Wenn wir nur das angegebene Attribut ausgeben möchten, können wir es in Array übergeben:
JSON.Stringify (Xiaoming, ['Name', 'Fähigkeiten'], '');
Ergebnis:
{"Name": "Xiao Ming", "Fähigkeiten": ["JavaScript", "Java", "Python", "Lisp"]}Sie können auch eine Funktion übergeben, damit jedes Schlüsselwertpaar des Objekts zuerst durch die Funktion verarbeitet wird:
Funktion Convert (Schlüssel, Wert) {if (typeof value === 'String') {return value.toUppercase (); } return value;} json.stringify (Xiaoming, konvertieren, '');Der obige Code verwandelt alle Attributwerte in Kapitalisierung:
{"Name": "Xiao Ming", "Alter": 14, "Geschlecht": wahr, "Höhe": 1,65, "Klasse": null, "Mittelschule": "/" w3c/"Mittelschule", "Fähigkeiten": ["Javascript", "Java", "Python", "lisp"]}}}}}}}}}}}}}} Wenn wir auch genau steuern möchten, wie Xiao Ming serialisieren kann, können wir eine toJSON() -Methode für xiaoming definieren und die Daten, die JSON serialisieren sollte, direkt zurückgeben:
var xiaoming = {name: 'xiao ming', Alter: 14, Geschlecht: wahr, Höhe: 1,65, Null: Null, 'Mittelschule': '/"W3c/" Mittelschule', Fähigkeiten: ['Javascript', 'Java', 'Python', 'LISP', LISP '], TOJSON: FUNKTION () {) {{) {//. this.name, 'ay': this.age}; }}; Json.Stringify (xiaoming); // '{"Name": "Xiao Ming", "Alter": 14}'Deserialisierung
Holen Sie sich eine JSON -Format -Zeichenfolge, und wir verwenden direkt JSON.parse() um sie in ein JavaScript -Objekt zu verwandeln:
Json.parse ('[1,2,3, true]'); // [1, 2, 3, true] json.parse ('{"name": "xiao ming", "Alter": 14}'); // Objekt {Name: 'xiao ming', Alter: 14} json.parse ('true'); // truejson.parse ('123.45'); // 123.45 JSON.parse() kann auch eine Funktion zum Umwandeln von Parsen -Eigenschaften erhalten:
Json.Parse ('{"Name": "Xiao ming", "Alter": 14}', Funktion (Schlüssel, Wert) {// Put -Nummer * 2: if (key === 'name') {return value + 'student';} return value;}); // Objekt {Name: 'Student Xiao Ming', Alter: 14}In dem obigen Artikel handelt es sich kurz um die Standardobjekte von JavaScript, ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.