1.json zum String
Funktion json2str(o) {
var arr = [];
var fmt = Funktion(en) {
If (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]));
Rückgabe '{' arr.join(',') '}';
}
2. Zeitstempel in Datum konvertieren
Funktion fromUnixTime(timeStamp) {
If (!timeStamp || timeStamp < 1000 || timeStamp == ' ') return "";
var theDate = new Date(parseInt(timeStamp) * 1000);
Geben Sie das Datum zurück;
}
3.Datenformat
// Autor: meizz
// Erweiterung des Datums, Konvertieren des Datums in einen String im angegebenen Format
// Monat (M), Tag (d), Stunde (h), Minute (m), Sekunde (s), Viertel (q) können 1-2 Platzhalter verwenden,
// Jahr (y) kann 1–4 Platzhalter verwenden, Millisekunden (S) können nur 1 Platzhalter (eine Zahl mit 1–3 Ziffern) verwenden
// Beispiel:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2012-12-02 08:12:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2012-12-02 8:12:4.18
Date.prototype.Format = function(fmt) {
var o = {
„M“: this.getMonth() 1, //Monat
"d ": this.getDate(), .
"h ": this.getHours(), //Hours
"m ": this.getMinutes(), //Minutes
"s ": this.getSeconds(), //seconds
"q ": Math.floor((this.getMonth() 3) / 3), //Quarter
„S“: this.getMilliseconds() //Millisekunden
};
If (/(y)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() "").substr(4 - RegExp.$1.length));
für (var k in o)
If (new RegExp("(" k ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" o[k]).substr(("" o[k]). Länge)));
Geben Sie fmt;
zurück
};
4. Addiere n Tage zum Datum
Funktion addDay(number) {
return fromUnixTime(new Date().getTime() / 1000 24 * 60 * 60 * number);
}
5. Bei Verwendung von Iframe gegenseitige Aufrufe zwischen übergeordnetem und untergeordnetem Formular
Code kopieren Der Code lautet wie folgt:
//Das übergeordnete Formular ruft die Funktion im untergeordneten Formular
auf
window.frames['ifm_id'].valueChange("id_101");
//Das untergeordnete Formular ruft die Funktion des übergeordneten Formulars
auf
parent.refreshTree("nodeId_202");
6. Popup-Formular und Rückgabewert
// Popup-Formular
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;");
// Legen Sie den Rückgabewert im Popup-Formular fest
var result = new Array();
result[0] = "id_101";
result[1] = "name_202";
window.returnValue = Ergebnis;
window.close();
7. JavaScript-Bereich [nur globaler Bereich und Funktionsbereich, JavaScript hat keinen Blockbereich]
Code kopieren
Der Code lautet wie folgt:
// 1. Globaler Geltungsbereich
var id = "globale Variable"; // 1.1 Variablen, die außerhalb der Funktion definiert sind
Funktion showMsg(){
message = "global message";// 1.2 Undefinierte, aber direkt zugewiesene Variablen
// Es wird bei der ersten Verwendung
als globale Variable definiert
}
// 2. Funktionsumfang
Funktion doCheck(){
var data = "function data";// 2.1 Innerhalb der Funktion definierte Variablen
}
8. JavaScript-Vererbungsmechanismus
Code kopieren
Der Code lautet wie folgt:
// 1. Objekt gibt vor, Vererbung zu sein
Funktion Person(strName){
// private Felder
var name = strName;
// öffentliche Methoden
This.getName = function(){
Rückname;
};
}
Funktion Student(strName,strSchool){
// Definieren Sie die Attribute und Methoden der übergeordneten Klasse
This.parent = Person;
This.parent(strName);
Löschen Sie this.parent; // Löschen Sie die temporäre Variable parent
// Neue Eigenschaften und Methoden definieren
// private Felder
var school = strSchool;
// öffentliche Methoden
This.getSchool = function(){
Rückkehr zur Schule;
};
}
// 2. Call(..) oder apply(..) Vererbung des Funktionsobjekts
// Der Unterschied zwischen call und apply ist:
// Der zweite Parameter des Aufrufs ist ein variabler Parameter;
// Der zweite Parameter von apply ist Array
Funktion Animal(strName,intAge){
// private Felder
var name = strName;
var age = intAge;
// öffentliche Methoden
This.getName = function(){
Rückname;
};
This.getAge = function(){
Rückgabealter;
};
}
Funktion Cat(strName,intAge,strColor){
// Definieren Sie die Attribute und Methoden der übergeordneten Klasse
Animal.call(this,strName,intAge);
// Animal.apply(this,new Array(strName,intAge));
// Neue Eigenschaften und Methoden definieren
// private Felder
var color = strColor;
// öffentliche Methoden
This.getInfo = function(){
return „name:“ this.getName() „n“
„age:“ this.getAge() „n“
„Farbe:“ Farbe;
};
}
// 3. Prototypenvererbung
// Die vom Prototyp deklarierten Eigenschaften und Methoden werden von allen Objekten geteilt
// Prototyp wird nur beim Lesen von Eigenschaften
verwendet
Function.prototype.extend = function(superClass){
// Das F soll hier verhindern, dass Unterklassen auf Eigenschaften in der übergeordneten Klasse zugreifen this.xxx
Funktion F(){};
F.prototype = superClass.prototype;
// Konstruktor der übergeordneten Klasse
This.superConstructor = superClass;
This.superClass = superClass.prototype;
This.prototype = new F();
This.prototype.constructor = this;
};
Function.prototype.mixin = function(props){
for (var p in props){
This.prototype[p] = props[p]; This.prototype[p] = props[p];
}
};
Funktion Box(){}
Box.prototype = {
GetText: function(){
return this.text;
},
setText: function(text){
This.text = text;
}
};
Funktion CheckBox(){}
CheckBox.extend(Box);
CheckBox.mixin({
isChecked : function(){
return this.checked;
},
setChecked: Funktion(geprüft){
This.checked = geprüft;
}
});
9. Anrufen, bewerben & binden
// thisArg stellt das durch this angegebene Objekt dar, wenn es sich in fun
befindet
// call & apply führt fun sofort aus und gibt das Ergebnis zurück
var result = fun.call(thisArg,arg1,...);
var result = fun.apply(thisArg,[argsArray]);
// thisArg stellt das durch this angegebene Objekt dar, wenn es sich in fun
befindet
// bind gibt eine anonyme Funktion zurück
var tmpfun = fun.bind(thisArg);
var result = tmpfun(arg1,...);
Code kopieren
Der Code lautet wie folgt:
Konvertierungsregeln
Wenn ein Operand ein boolescher Wert ist, wird er vor dem Vergleich in eine Zahl umgewandelt: false ->
Wenn ein Operand eine Zahl und der andere Operand eine Zeichenfolge ist, konvertieren Sie die Zeichenfolge vor dem Vergleich in eine Zahl
Wenn ein Operand ein Objekt und der andere Operand eine Zahl oder Zeichenfolge ist, wird das Objekt vor dem Vergleich in einen Basistyp konvertiert,
Die Engine versucht zunächst, valueOf() aufzurufen, wenn valueOf() kein Objekt überschreibt oder zurückgibt,
Die Engine versucht, toString() aufzurufen. Wenn toString() kein Objekt überschreibt oder zurückgibt, wird eine Ausnahme ausgelöst
Wenn zwei Objekte verglichen werden, stellen Sie fest, ob sie sich auf dasselbe Objekt beziehen
Wenn ein Operand NaN ist, gibt == false zurück, != gibt true zurück;
Der Vergleich von null und undefiniert mit anderen Werten gibt false zurück,
Aber null == null, undefiniert == undefiniert, null == undefiniert;
Bei der Teilnahme am Vergleich können null und undefiniert nicht in andere Werte umgewandelt werden