JavaScript ist eine sehr leistungsfähige objektbasierte Sprache, die objektorientierte Sprache weist jedoch noch einige Mängel auf. Gleichzeitig ist die integrierte Klassenbibliothek von JavaScript relativ einfach und es fehlen sogar alle häufig verwendeten 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.
Erweiterung des String-Objekts
1. String String.ltrim()
Entfernt alle Leerzeichen am Anfang des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
2. String String.rtrim()
Entfernt alle Leerzeichen am Ende des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
3. String String.trim()
Entfernt alle Leerzeichen am Anfang und Ende des ursprünglichen Strings und gibt ein neues String-Objekt zurück.
4. Boolescher String.endsWidth(strEnd)
Ob dieser String mit dem übergebenen String endet.
5. Boolescher String.startsWith(strStart)
Ob dieser String mit dem übergebenen String beginnt.
6. 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.
7. String String.removeSpaces()
Entfernt alle Leerzeichen aus dem ursprünglichen String und gibt ein neues String-Objekt zurück.
8. 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.
9. 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.
Erweiterung des Array-Objekts
1. void Array.queue(objValue) und void Array.add(objValue)
Fügt den angegebenen objValue am Ende dieses Arrays ein.
2. void Array.addRange(rangeArray)
Fügen Sie das angegebene rangeArray am Ende des Arrays hinzu.
3. 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.
4. Array Array.clone()
Gibt eine flache Kopie dieses Arrays zurück.
5. void Array.insert(index, objValue)
Fügen Sie den angegebenen objValue an der Indexposition des Arrays ein.
6. Objektarray.dequeue()
Entfernt den ersten Eintrag in diesem Array und gibt ihn zurück.
7. Objektarray.removeAt(index)
Entfernt den Eintrag am angegebenen Index in diesem Array und gibt ihn zurück.
8.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.
9. Array Array.parse(string)
Analysieren Sie das eingehende Array, das durch einen String dargestellt wird, in ein Array.
10. void Array.clear()
Alle Einträge in diesem Array löschen.
11. Ganzzahl-Array.get_length()
Gibt die Anzahl der Einträge in diesem Array zurück, entsprechend Array.length.
12. Objektarray.getItem(index)
Gibt den Eintrag am angegebenen Index in diesem Array zurück.
Erweiterung des Date-Objekts
1. 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
1. Number Number.parse(string)
Versuchen Sie, die eingehende Zeichenfolge als Zahl zu analysieren.
2. 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();
Objektorientierte Unterstützung
definiert eine Basisklasse, die vererbt 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"]);
namespace
registerNamespace("Web.Utility");
// Web-Dienstprogramm implementieren
registerNamespace("Web.Performance");
// Implement Performance
definiert 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,);