Autor: Dflying Chen ( http://dflying.cnblogs.com/ )
JavaScript ist eine sehr leistungsfähige objektbasierte Sprache, aber es gibt immer noch einige Mängel bei der Unterstützung von objektorientierten Sprachen. Die erstellte Klassenbibliothek ist ebenfalls relativ einfach und es fehlen sogar alle häufig verwendete Funktionen. ASP.NET Atlas erweitert JavaScript zur Laufzeit, verbessert seine objektorientierten Unterstützungsfunktionen erheblich und erweitert einige häufig verwendete Vorgänge während der Entwicklung.
Ich habe auf die Datei Atlas.js verwiesen und bin zu dem Schluss gekommen, dass Atlas die folgenden Erweiterungen für JavaScript hat. An einigen Stellen gibt es einige Auslassungen oder Fehler. Bitte verzeihen Sie mir und korrigieren Sie mich.
String-Objekterweiterung
String String.ltrim()
Entfernt alle Leerzeichen am Anfang des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
String String.rtrim()
Entfernt alle Leerzeichen am Ende des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
String String.trim()
Entfernt alle Leerzeichen am Anfang und Ende des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
Boolean String.endsWidth(strEnd)
Ob dieser String mit dem übergebenen String endet.
Boolean String.startsWith(strStart)
Ob dieser String mit dem übergebenen String beginnt.
String String.format(args1,args2,.)
Ähnlich wie bei String.Format() in C# wird {n} im manipulierten String durch den entsprechenden n-ten Parameter ersetzt und ein neues String-Objekt zurückgegeben.
String String.removeSpaces()
Entfernt alle Leerzeichen aus dem ursprünglichen String und gibt ein neues String-Objekt zurück.
String String.removeExtraSpaces()
Ersetzen Sie aufeinanderfolgende Leerzeichen im ursprünglichen String durch einzelne Leerzeichen (einschließlich Wagenrückläufen) und geben Sie ein neues String-Objekt zurück.
String String.removeSpaceDelimitedString(str)
Entfernt die angegebenen Wörter (durch Leerzeichen getrennte Textfragmente) aus dem ursprünglichen String und gibt ein neues String-Objekt zurück. Diese Methode kann beim Löschen eines Klassennamens verwendet werden, der DOM-Elemente mit mehreren Klassennamen enthält.
Erweiterungen von Array-Objekten
void Array.queue(objValue) und void Array.add(objValue)
Fügt den angegebenen objValue am Ende dieses Arrays ein.
void Array.addRange(rangeArray)
Fügen Sie das angegebene rangeArray am Ende des Arrays hinzu.
Boolean Array.contains(objValue) und Boolean Array.exists(objValue)
Gibt einen booleschen Wert zurück, der angibt, ob das Array das objValue-Element enthält.
Array Array.clone()
Gibt eine flache Kopie dieses Arrays zurück.
void Array.insert(index, objValue)
Fügen Sie den angegebenen objValue an der Indexposition des Arrays ein.
ObjectArray.dequeue()
Entfernt den ersten Eintrag in diesem Array und gibt ihn zurück.
Objektarray.removeAt(index)
Entfernt den Eintrag am angegebenen Index in diesem Array und gibt ihn zurück.
Boolean Array.remove(objValue)
Entfernt den angegebenen objValue-Eintrag aus dem Array und gibt einen booleschen Wert zurück, der angibt, ob der Eintrag vorhanden ist und erfolgreich entfernt wurde.
Array Array.parse(string)
Analysieren Sie das eingehende Array, das durch einen String dargestellt wird, in ein Array.
void Array.clear()
Alle Einträge in diesem Array löschen.
Ganzzahliges Array.get_length()
Gibt die Anzahl der Einträge in diesem Array zurück, entsprechend Array.length.
Objektarray.getItem(index)
Gibt den Eintrag am angegebenen Index in diesem Array zurück.
Erweiterung des Date-Objekts
String Date.toFormattedString(stringFormat)
Formatieren Sie das Date-Objekt und geben Sie es gemäß dem EingabestringFormat aus (es gibt zu viele Formatzeichenfolgen ... Ich bin zu faul, sie zu schreiben. Wenn Sie sie benötigen, schauen Sie sich einfach die Zeilen 748-871 in Atlas.js an).
Erweiterung des Number-Objekts
Number Number.parse(string)
Versuchen Sie, die eingehende Zeichenfolge als Zahl zu analysieren.
String Number.toFormattedString(stringFormat)
Formatieren Sie das Number-Objekt und geben Sie es gemäß der Eingabezeichenfolge aus.
Die Sys.StringBuilder-Klasse
ähnelt StringBuilder in C#:
var sb = new Sys.StringBuilder();
sb.append("<div>");
sb.appendLine("eine Textzeile");
sb.append("</div>");
someDOMElem.innerHTML = sb.toString();
Die objektorientierte Unterstützung definiert Basisklassen, von denen geerbt werden kann
BaseClass = function()
{
// Objekt
}
BaseClass.registerClass("BaseClass");
Inherited classDerivedClass
= function()
{
// Basiskonstruktoren aufrufen
// Das 2. Argument ist ein Array, das Sie zur Übergabe von Argumenten verwenden können
DerivedClass.intializeBase(this,arguments);
}
DerivedClass.registerClass("DerivedClass","BaseClass");
MehrfachvererbungMultipleInherit
= function()
{
MultipleInherit.intializeBase(this,arguments); // Bootstrap
// Objekt
}
MultipleInherit.registerClass("MultipleInherit",["BaseClass", "DerivedClass"]);
Definieren Sie Methoden, die überschrieben werden können
BaseClass = function()
{
// Objekt
this.initialize = function()
{
}
BaseClass.registerBaseMethod(this,"initialize");
}
BaseClass.registerClass("BaseClass");
Rufen Sie die überschriebene Methode der Basisklasse auf
DerivedClass = function()
{
DerivedClass.initializeBase(this,arguments); // Bootstrap
this.initialize = function()
{
DerivedClass.getBaseMethod(this,"BaseClass","initialize").call(this);
// So übergeben Sie Argumente an die Basisklasse:
// .call(this,args1,args2,args3)
}
}
DerivedClass.registerClass("DerivedClass",["Atlas.Bindings.Base","BaseClass"]);
NamespaceregisterNamespace
(„Web.Utility“);
// Web-Dienstprogramm implementieren
registerNamespace("Web.Performance");
// Leistung implementieren
Definieren Sie den Enum-Typ var theEnum = Type.createEnum("name1","name2");
for (var strItems in theEnum.getValues())
{
}
Flag-Typ definieren
var theFlags = Type.createFlags("name1",value1,"name2",value2,);