1.json à la chaîne
La copie de code est la suivante:
fonction json2str (o) {
var arr = [];
var fmt = fonction (s) {
if (typeof s == 'objet' && s! = null) return json2str (s);
return /^(String|Number)$/.test(Typeof s)? "'" + s + "'": s;
};
pour (var i in o) arr.push ("'" + i + "':" + fmt (o [i]));
return '{' + arr.join (',') + '}';
}
2. Convertir l'horodatage à ce jour
La copie de code est la suivante:
fonction fromUnixtime (horodat) {
if (! Timestamp || Timestamp <1000 || TimeStamp == '') return "";
var thedate = new Date (parseInt (horodat) * 1000);
Retour Thedate;
}
3.Data-format
La copie de code est la suivante:
// Auteur: Meizz
// Extension de la date, convertissez la date en chaîne au format spécifié
// 1-2 Les espaces réservés peuvent être utilisés pour le mois (M), le jour (D), l'heure (H), la minute (M), les secondes (s) et le quartier (Q).
// L'année (Y) peut être utilisée avec 1 à 4 espaces réservés, des millisecondes ne peuvent utiliser qu'un seul espace réservé (c'est un numéro de 1 à 3 chiffres)
// exemple:
// (new Date ()). Format ("Yyyy-mm-dd HH: MM: SS.S") ==> 2012-12-02 08: 12: 04.423
// (new Date ()). Format ("Yyyy-md h: m: ss") ==> 2012-12-02 8: 12: 4.18
Date.prototype.format = fonction (fmt) {
var o = {
"M +": this.getMonth () + 1, // mois
"d +": this.getDate (), // jour
"h +": this.gethours (), // heures
"M +": this.getMinutes (), // min
"S +": this.getSeconds (), // sec
"q +": math.floor ((this.getMonth () + 3) / 3), // Quarterly
"S": this.getMilliseconds () // MS
};
if (/(y+)/.test(fmt))
fmt = fmt.replace (regexp. 1 $, (this.getlyear () + "") .substr (4 - regexp. 1.Lengle));
pour (var k en o)
if (new regexp ("(" + k + ")"). test (fmt))
fmt = fmt.replace (regexp. 1 $, (regexp. 1 1.Length == 1)? (o [k]): (("00" + o [k]). substr (("" + o [k]). longueur))));
retour fmt;
};
4. Ajouter N jours à ce jour
La copie de code est la suivante:
fonction addday (numéro) {
Retour FromUnixtime (nouveau Date (). GetTime () / 1000 + 24 * 60 * 60 * numéro);
}
5. Lorsque vous utilisez un iframe, l'appel mutuel entre la forme parent et la forme enfant
La copie de code est la suivante:
// Fonction des appels du formulaire parent sous forme enfant
window.frames ['ifm_id']. ValueChange ("id_101");
// Le formulaire enfant appelle la fonction du formulaire parent
parent.refreshtree ("Nodeid_202");
6. Formulaire contextuel et valeur de retour
La copie de code est la suivante:
// Formulaire popup
var url = "http://www.baidu.com";
win = window.showmodaldialog (URL, fenêtre, "Dialogleft: 400; Dialogtop: 200; DialogWidth: 560px; DialogHeight: 380px; Scroll: Oui; menuBar: non; barre d'outils: non; statut: non;");
// Définir la valeur de retour sous forme pop-up
var result = new Array ();
résultat [0] = "id_101";
résultat [1] = "name_202";
window.reTurnValue = result;
window.close ();
7. Portée JavaScript [seule portée et étendue de fonction globale, JavaScript n'a pas de portée de bloc]
La copie de code est la suivante:
// 1. Portée mondiale
var id = "variable globale"; // 1.1 variable définie en dehors de la fonction
fonction showmsg () {
message = "message global"; // 1.2 variables qui sont directement attribuées sans définition
// définir comme une variable globale lorsqu'elle est utilisée pour la première fois
}
// 2. Portée de la fonction
fonction docheck () {
var data = "function data"; // 2.1 variables définies à l'intérieur de la fonction
}
8. Mécanisme d'hérédité JavaScript
La copie de code est la suivante:
// 1. Imit d'identité des objets
fonction de fonction (strname) {
// champs privés
var name = strname;
// Méthodes publiques
this.getName = function () {
nom de retour;
};
}
Student de fonction (strname, strSchool) {
// définir les propriétés et les méthodes de la classe parentale
this.parent = personne;
this.parent (strname);
Supprimer ce.parent; // Supprimer le parent variable temporaire
// définir de nouvelles propriétés et méthodes
// champs privés
Var School = StrSchool;
// Méthodes publiques
this.getschool = function () {
retour à l'école;
};
}
// 2. Appelez (..) ou appliquez (..) l'héritage de l'objet de fintion
// La différence entre l'appel et l'application est:
// Le deuxième paramètre de l'appel est un paramètre variable;
// Le deuxième paramètre de l'application est le tableau;
fonction animal (strname, intage) {
// champs privés
var name = strname;
var age = intage;
// Méthodes publiques
this.getName = function () {
nom de retour;
};
this.getage = function () {
âge de retour;
};
}
fonction Cat (strname, intage, strcolor) {
// définir les propriétés et les méthodes de la classe parentale
Animal.Call (ceci, strname, intage);
// animal.apply (ceci, nouveau tableau (strname, intage));
// définir de nouvelles propriétés et méthodes
// champs privés
var color = strcolor;
// Méthodes publiques
this.getInfo = function () {
return "name:" + this.getName () + "/ n"
+ "Age:" + this.getage () + "/ n"
+ "Couleur:" + Couleur;
};
}
// 3. Héritage prototype
// Les propriétés et méthodes du prototype déclaré sont partagées par tous les objets
// Le prototype ne sera utilisé que lors de la lecture des attributs
Function.prototype.extend = function (superclass) {
// Le F ici est d'éviter les sous-classes d'accès aux propriétés
fonction f () {};
F.prototype = superclass.prototype;
// Constructeur de classe parent
this.SuperConstructor = superclass;
this.superclass = superclass.prototype;
this.prototype = new f ();
this.prototype.constructor = this;
};
Function.prototype.mixin = fonction (accessoires) {
pour (var p dans les accessoires) {
this.prototype [p] = props [p];
}
};
Box de fonction () {}
Box.prototype = {
getText: function () {
retourner this.text;
},
setText: fonction (texte) {
this.text = text;
}
};
Fonction Checkbox () {}
CheckBox.Extend (Box);
Checkbox.mixin ({
ischecked: function () {
Renvoyez ceci.Commé;
},
setChecked: fonction (vérifié) {
this.checked = vérifié;
}
});
9. Appelez, appliquez et liez
La copie de code est la suivante:
// thisarg représente l'objet indiqué par cela lorsque le plaisir est à l'intérieur
// Appeler et s'appliquer exécutera immédiatement le plaisir et renverra le résultat
var result = fun.call (thisarg, arg1, ...);
var result = fun.apply (thisarg, [argsArray]);
// thisarg représente l'objet indiqué par cela lorsque le plaisir est à l'intérieur
// lier renvoie une fonction anonyme
var tmpfun = fun.bind (thisarg);
var result = tmpfun (arg1, ...);
La copie de code est la suivante:
<script type = "text / javascript">
/ **
* Étendez la fonctionnalité de la fonction
* /
Function.prototype.bind = fonction (obj) {
Var Method = this;
var tmpfun = fonction () {
Retour Method.Apply (obj, arguments);
};
retour tmpfun;
}
fonction parent () {
this.name = "parent";
}
fonction child () {
this.name = "enfant";
this.getName = function (time) {
heure de retour + "" + this.name;
};
}
var parent = new Parent ();
var child = new Child ();
alert (child.getName (1)); // montre 1 enfant
alert (child.getName.Call (parent, 2)); // Afficher 2 parents [appel et application sera exécuté immédiatement]
var tmpfun = child.getName.bind (parent); // lier ne sera pas exécuté immédiatement
alerte (tmpFun (3)); // montre 3 parents
</cript>
10. JS "=="
La copie de code est la suivante:
Règles de conversion
Si un opérande est une valeur booléenne, convertissez-la en nombre avant la comparaison: false -> 0, true -> 1;
Si un opérande est un nombre et que l'autre opérande est une chaîne, convertissez la chaîne en un nombre avant comparaison;
Si un opérande est un objet et l'autre est un nombre ou une chaîne, l'objet sera converti en type primitif avant la comparaison.
Le moteur essaiera d'abord d'appeler la valeur de (), si ValueOf () n'a pas de remplacement ou renvoie un objet,
Ensuite, le moteur essaiera d'appeler ToString (), et si ToString () n'a pas de remplacement ou renvoie un objet, une exception est lancée;
Si deux objets sont comparés, déterminez s'ils se réfèrent au même objet;
Si un opérande est nan, == reviendra false ,! = reviendra true;
NULL et UNDEFINED RETOURNERA FALSE COMPLÉMENTAIRES D'AUTRES VALEURS.
Mais null == null, undefined == undefined, null == undefined;
Null et non défini ne peuvent pas être convertis en autres valeurs lorsqu'ils participent à la comparaison;