1.json en chaîne
fonction json2str(o) {
var arr = [];
var fmt = fonction(s) {
Si (typeof s == 'object' && s != null) return json2str(s);
return /^(string|number)$/.test(typeof s) ? "'" s "'" : s;
};
for (var i in o) arr.push("'" i "':" fmt(o[i]));
Renvoie '{' arr.join(',') '}';
>
2. Convertir l'horodatage en date
fonction fromUnixTime (timeStamp) {
Si (!timeStamp || timeStamp < 1000 || timeStamp == ' ') renvoie "";
var theDate = new Date(parseInt(timeStamp) * 1000);
Renvoyez la date ;
>
3.Format des données
// Auteur : meizz
// Extension de Date, convertit la Date en Chaîne au format spécifié
// Le mois (M), le jour (j), l'heure (h), la minute (m), la seconde (s), le quart (q) peuvent utiliser 1 à 2 espaces réservés,
// L'année (y) peut utiliser 1 à 4 espaces réservés, les millisecondes (S) ne peuvent utiliser qu'un seul espace réservé (un nombre de 1 à 3 chiffres)
// Exemple :
// (nouvelle Date()).Format("aaaa-MM-jj hh:mm:ss.S") ==> 02/12/2012 08:12:04.423
// (new Date()).Format("aaaa-M-d h:m:s.S") ==> 02/12/2012 8:12:4.18
Date.prototype.Format = fonction (fmt) {
var o = {
"M : this.getMonth() 1, //Mois
"d ": this.getDate(), .
"h : this.getHours(), //Heures
"m : this.getMinutes(), //Minutes
"s : this.getSeconds(), //secondes
"q : Math.floor((this.getMonth() 3) / 3), //Quartier
"S": this.getMilliseconds() //Millisecondes
};
Si (/(y)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() "").substr(4 - RegExp.$1.length));
pour (var k en o)
Si (new RegExp("(" k ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((("00" o[k]).substr(("" o[k]). longueur)));
Retour immédiat ;
};
4. Ajouter n jours à la date
fonction addDay(numéro) {
return fromUnixTime(new Date().getTime() / 1000 24 * 60 * 60 * number);
>
5. Lors de l'utilisation d'iframe, appels mutuels entre le formulaire parent et le formulaire enfant
Copier le code Le code est le suivant :
//Le formulaire parent appelle la fonction dans le formulaire 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
// Formulaire pop-up
var url = "
http://www.baidu.com"
win=window.showModalDialog(url,window,"dialogLeft:400;dialogTop:200;dialogWidth:560px;dialogHeight:380px;scroll:yes;menubar:no;toolbar:no;status:no;");
// Définit la valeur de retour dans le formulaire contextuel
var résultat = nouveau tableau();
résultat[0] = "id_101";
résultat[1] = "nom_202";
window.returnValue = résultat ;
window.close();
7. Portée JavaScript [uniquement portée globale et portée de fonction, JavaScript n'a pas de portée de bloc]
// 1. Portée mondiale
var id = "global variable"; // 1.1 Variables définies en dehors de la fonction
fonction showMsg(){
message = "message global";// 1.2 Variables non définies mais directement affectées
// Elle est définie comme variable globale lors de la première utilisation
}
// 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éritage JavaScript
Copier le code Le code est le suivant :
// 1. L'objet prétend être un héritage
function Personne(strName){
// champs privés
var nom = strName;
// méthodes publiques
This.getName = function(){
renvoyer le nom ;
};
}
function Étudiant(strName,strSchool){
// Définir les attributs et méthodes de la classe parent
This.parent = Personne
This.parent(strName);
Supprimer this.parent ; // Supprimer la variable temporaire parent
// Définir de nouvelles propriétés et méthodes
// champs privés
var école = strSchool;
// méthodes publiques
This.getSchool = function(){
retour à l'école ;
};
}
// 2. Appel(..) ou appliquer(..) l'héritage de l'objet Fonction
// La différence entre appeler et postuler est :
// Le deuxième paramètre de call est un paramètre variable
// Le deuxième paramètre de apply est Array
function Animal(strName,intAge){
// champs privés
var nom = strName;
var âge = intAge;
// méthodes publiques
This.getName = function(){
renvoyer le nom ;
};
This.getAge = function(){
Âge de retour ;
};
}
function Cat(strName,intAge,strColor){
// Définir les attributs et méthodes de la classe parent
Animal.call(this,strName,intAge);
// Animal.apply(this,new Array(strName,intAge));
// Définir de nouvelles propriétés et méthodes
// champs privés
var couleur = strCouleur
// méthodes publiques
This.getInfo = function(){
return "name:" this.getName() "n"
"âge :" this.getAge() "n"
"couleur : " couleur ;
};
}
// 3. héritage du prototype
// Les propriétés et méthodes déclarées par prototype sont partagées par tous les objets
// le prototype n'est utilisé que lors de la lecture des propriétés
Function.prototype.extend = function(superClass){
// Le F ici sert à empêcher les sous-classes d'accéder aux propriétés de la classe parent this.xxx
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 = function(props){
pour (var p dans les accessoires){
This.prototype[p] = props[p]; This.prototype[p] = props[p];
}
};
fonction Boîte(){}
Boîte.prototype = {
GetText : function(){
renvoyer ce.text;
},
setText : function(texte){
This.text = texte;
}
};
fonction CheckBox(){}
CheckBox.extend(Boîte);
CheckBox.mixin({
isChecked : function(){
renvoyer ceci.checked ;
},
setChecked : function(checked){
This.checked = vérifié
}
});
9. appeler, postuler et lier
// thisArg représente l'objet indiqué par this lorsqu'il est à l'intérieur de fun
// call & apply exécutera fun immédiatement et renverra le résultat
var résultat = fun.call(thisArg,arg1,...);
var result = fun.apply(thisArg,[argsArray]);
// thisArg représente l'objet indiqué par this lorsqu'il est à l'intérieur de fun
// bind renvoie une fonction anonyme
var tmpfun = fun.bind(thisArg);
var résultat = tmpfun(arg1,...);
10.js "==" Opérateur
Copier le code
Le moteur tentera d'appeler toString(). Si toString() ne remplace pas ou ne renvoie pas d'objet, une exception sera levée
.
Si deux objets sont comparés, déterminez s'ils font référence au même objet
Si un opérande est NaN, == renverra false, != renverra true
;
Comparer null et undefined avec d'autres valeurs renverra false,
Mais null == null, undéfini == non défini, null == non défini
Lors de la participation à une comparaison, null et undefined ne peuvent pas être convertis en d'autres valeurs
;