Dans le monde de JavaScript, tout est un objet.
Mais certains objets sont toujours différents des autres. Pour distinguer le type d'un objet, nous utilisons typeof pour obtenir le type d'objet, qui renvoie toujours une chaîne:
typeof 123; // 'Number'typeOf nan; // 'Number'typeOf' str '; // 'string'typeof true; // 'boolean'typeof indéfini; // 'indéfini'typeof math.abs; // 'fonction'type de null; // 'object'typeof []; // 'object'typeof {}; // 'objet' typeof {}; // 'objet' Comme on peut le voir, number , string , boolean , function et undefined sont différents des autres types. Portez une attention particulière au type d' object null , et le type de Array est également object . Si nous utilisons typeof , nous ne pourrons pas distinguer null , Array et objet dans le sens habituel - {} .
Objet d'emballage
number , boolean et string ont des objets enveloppe. Oui, en JavaScript, les chaînes distinguent également les types string et ses types de wrapper. L'objet d'emballage est créé avec new :
var n = nouveau nombre (123); // 123, un nouveau type d'emballage a été généré var b = new boolean (true); // true, un nouveau type d'emballage a été généré var s = new String ('str'); // 'str', un nouveau type d'emballage a été généré Bien que l'objet wrapper ressemble exactement à la valeur d'origine et s'affiche exactement comme, leur type est devenu object ! Par conséquent, la comparaison de l'objet d'emballage avec la valeur d'origine avec === reviendra false :
type de nouveau numéro (123); // 'Object'New Number (123) === 123; // falsetype de nouveau boolean (true); // 'Object'new boolean (true) === true; // falsetype de nouvelle chaîne ('str'); // 'Object'New String (' str ') ===' str '; // FAUXAlors n'utilisez pas l'objet d'emballage même si vous vous sentez inactif! Surtout pour les types de chaînes! ! !
Date
Dans JavaScript, l'objet Date est utilisé pour représenter les dates et les heures.
Pour obtenir l'heure actuelle du système, utilisez:
var now = new Date (); maintenant; // mer 24 juin 2015 19:49:22 GMT + 0800 (CST) Now.getlyar (); // 2015, année maintenant.getMonth (); // 5, mois, notez que la gamme de mois est de 0 à 11, 5 signifie juin maintenant.getDate (); // 24, signifie 24e maintenant.getDay (); // 3, signifie mercredi maintenant.gethours (); // 19, 24 heures maintenant.getMinutes (); // 49, minute maintenant.getSeconds (); // 22, secondes maintenant.getMilliseConds (); // 875, millisecondes maintenant.getTime (); // 1435146562875, horodatage représenté en nombre
Notez que l'heure actuelle est le temps que le navigateur obtient du système d'exploitation local, il n'est donc pas nécessairement exact, car l'utilisateur peut définir l'heure actuelle sur n'importe quelle valeur.
Si vous souhaitez créer un objet Date avec une date et une heure spécifiées, vous pouvez utiliser:
var d = nouvelle date (2015, 5, 19, 20, 15, 30, 123);
Vous avez peut-être observé un très, très arnaqué, c'est-à-dire que la gamme de mois de JavaScript est représentée par des entiers, 0 à 11, 0 à janvier et 1 à février ..., donc pour représenter juin, nous passons en 5! C'est certainement quelque chose que le concepteur de JavaScript avait un cerveau à ce moment-là, mais il est impossible de le réparer maintenant.
La deuxième façon de créer une date et une heure spécifiées consiste à analyser une chaîne conforme au format ISO 8601:
var d = date.parse ('2015-06-24t19: 49: 22.875 + 08: 00'); D; // 1435146562875 Mais il ne renvoie pas un objet Date , mais un horodatage. Mais avec un horodatage, il peut être facilement converti en une Date :
var d = nouvelle date (1435146562875); d; // mer 24 juin 2015 19:49:22 GMT + 0800 (CST)
Fuseau horaire
L'heure représentée par Date est toujours affichée en fonction du fuseau horaire du navigateur, mais nous pouvons afficher à la fois l'heure locale et l'heure UTC ajustée:
var d = nouvelle date (1435146562875); d.tolocalestring (); // '2015/6/24 7:49:22 PM', heure locale (fuseau horaire de Pékin +8: 00), la chaîne affichée est liée au format défini par le système d'exploitation d.toutcstring (); // 'mer, 24 juin 2015 11:49:22 GMT', heure UTC, 8 heures à l'extérieur de l'heure locale
Alors, comment convertir les fuseaux horaires en JavaScript? En fait, tant que nous passons un horodatage de type number , nous n'avons pas à nous soucier de la conversion du fuseau horaire. Tout navigateur peut convertir correctement un horodatage en heure locale.
Donc, nous n'avons qu'à passer l'horodatage, ou à lire l'horodatage de la base de données, puis à convertir automatiquement JavaScript en heure locale.
Pour obtenir l'horodatage actuel, vous pouvez utiliser:
if (date.now) {alert (date.Now ()); // ancienne version d'IE n'a pas la méthode maintenant ()} else {alert (new Date (). GetTime ());}Json
Dans JSON, il n'y a que quelques types de données:
• Numéro: c'est exactement la même chose que le numéro JavaScript;
• Boolean: il est vrai ou faux de JavaScript;
• String: est JavaScript String;
• NULL: est null de JavaScript;
• Array: il s'agit de la méthode de représentation du tableau JavaScript - [];
• Objet: il s'agit de la représentation {...} de JavaScript.
et toute combinaison ci-dessus.
Sérialisation
Sérialisons d'abord l'objet Xiao Ming dans une chaîne JSON:
var XiaoMing = {Name: 'Xiao Ming', Âge: 14, Sexe: 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, "Middle-School": "/" W3C / "Middle School", "Skills": ["Javascript", "Java", "Python", "Lisp"]}' 'Pour mieux sortir, vous pouvez ajouter des paramètres et inventer la sortie:
JSON.Stringify (XiaoMing, null, '');
résultat:
{"Name": "Xiao Ming", "Age": 14, "Gender": True, "Height": 1.65, "Grade": Null, "Middle-School": "/" W3C / "Middle School", "Skills": ["Javascript", "Java", "Python", "Lisp"]}} Le deuxième paramètre est utilisé pour contrôler comment filtrer les valeurs de clé de l'objet. Si nous voulons seulement sortir l'attribut spécifié, nous pouvons le transmettre dans Array :
JSON.Stringify (XiaoMing, ['Name', 'Skills'], '');
résultat:
{"Name": "Xiao Ming", "Skills": ["JavaScript", "Java", "Python", "Lisp"]}Vous pouvez également passer dans une fonction afin que chaque paire de valeurs de clé de l'objet soit d'abord traitée par la fonction:
fonction convert (key, value) {if (typeof value === 'string') {return value.touppercase (); } Retour valeur;} json.stringify (xiaoMing, convert, '');Le code ci-dessus transforme toutes les valeurs d'attribut en capitalisation:
{"Name": "Xiao Ming", "Age": 14, "Gender": True, "Height": 1.65, "Grade": Null, "Middle-School": "/" W3C / "Middle School", "Skills": ["Javascript", "Java", "Python", "Lisp"]}} Si nous voulons également contrôler avec précision comment sérialiser Xiao Ming, nous pouvons définir une méthode toJSON() pour xiaoming et renvoyer directement les données que JSON devrait sérialiser:
var XiaoMing = {nom: 'xiao ming', Âge: 14, genre: true, hauteur: 1.65, grade: null, 'middle-school': '/ "w3c /" middle school', compétences: ['javascrip this.name, 'Âge': this.age}; }}; Json.stringify (xiaoMing); // '{"name": "Xiao Ming", "Age": 14}'Désérialisation
Obtenez une chaîne de format JSON, et nous utilisons directement JSON.parse() pour le transformer en un objet JavaScript:
JSON.Parse ('[1,2,3, true]'); // [1, 2, 3, true] JSON.Parse ('{"Name": "Xiao Ming", "Age": 14}'); // objet {name: 'xiao ming', âge: 14} JSON.Parse ('true'); // truejson.parse ('123.45'); // 123,45 JSON.parse() peut également recevoir une fonction pour convertir les propriétés analysées:
JSON.Parse ('{"Name": "Xiao Ming", "Age": 14}', fonction (clé, valeur) {// Put Number * 2: if (key === 'name') {Return Value + 'Student';} Return Value;}); // Objet {nom: 'Student Xiao Ming', âge: 14}L'article ci-dessus parle brièvement des objets standard de JavaScript est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.