JavaScript es un lenguaje basado en objetos muy poderoso, pero su soporte para orientación a objetos todavía tiene algunas deficiencias. Al mismo tiempo, la biblioteca de clases incorporada de JavaScript es relativamente simple e incluso carece de todas las funciones de uso común. ASP.NET Atlas amplía JavaScript en tiempo de ejecución, mejora en gran medida sus capacidades de soporte orientado a objetos y amplía algunas operaciones de uso común durante el desarrollo.
Me referí al archivo Atlas.js y concluí que Atlas tiene las siguientes extensiones de JavaScript. Hay algunas omisiones o errores en algunos lugares, perdónenme y corríjanme.
Extensión del objeto String
1. String String.ltrim()
Elimina todos los espacios al principio de la Cadena original y devuelve un nuevo objeto Cadena.
2. Cadena Cadena.rtrim()
Elimina todos los espacios al final de la Cadena original y devuelve un nuevo objeto Cadena.
3. Cadena Cadena.trim()
Elimina todos los espacios al principio y al final de la Cadena original y devuelve un nuevo objeto Cadena.
4. Cadena booleana.endsWidth(strEnd)
Si esta cadena termina con la cadena pasada.
5. Cadena booleana.startsWith(strStart)
Si esta cadena comienza con la cadena pasada.
6. Cadena Cadena.formato(args1,args2,.)
Similar a String.Format() en C#, {n} en la cadena manipulada será reemplazada por el enésimo parámetro correspondiente y se devolverá un nuevo objeto String.
7. Cadena Cadena.removeSpaces()
Elimina todos los espacios del String original y devuelve un nuevo objeto String.
8. Cadena Cadena.removeExtraSpaces()
Reemplace los espacios consecutivos en la Cadena original con espacios simples (incluidos los retornos de carro) y devuelva un nuevo objeto Cadena.
9. Cadena Cadena.removeSpaceDelimitedString(cadena)
Elimina las palabras especificadas (fragmentos de texto separados por espacios) de la Cadena original y devuelve un nuevo objeto Cadena. Este método se puede utilizar al eliminar un nombre de clase que contiene elementos DOM con varios nombres de clase.
Extensión del objeto Array
1. void Array.queue(objValue) y void Array.add(objValue)
Inserta el objValue especificado al final de esta matriz.
2. anular Array.addRange (rangeArray)
Agregue el rangeArray especificado al final del Array.
3. Boolean Array.contains (objValue) y Boolean Array.exists (objValue)
Devuelve un valor booleano que representa si la matriz contiene el elemento objValue.
4. Matriz Matriz.clon()
Devuelve una copia superficial de esta matriz.
5. void Array.insert (índice, objValue)
Inserte el objValue especificado en la posición de índice de la matriz.
6. Matriz de objetos.dequeue()
Elimina y devuelve la primera entrada de este Array.
7. Matriz de objetos.removeAt(índice)
Elimina y devuelve la entrada en el índice especificado en esta matriz.
8.Boolean Array.remove (objValue)
Elimina la entrada objValue especificada de la matriz y devuelve un valor booleano que indica si la entrada existe y se eliminó correctamente.
9. Matriz Array.parse (cadena)
Analiza la matriz entrante representada por una cadena en una matriz.
10. anular Array.clear()
Borre todas las entradas de esta matriz.
11. Matriz de enteros.get_length()
Devuelve el número de entradas en este Array, equivalente a Array.length.
12. Matriz de objetos.getItem (índice)
Devuelve la entrada en el índice especificado en esta matriz.
Extensión del objeto Fecha
1. String Date.toFormattedString(stringFormat)
Formatee y genere el objeto Fecha de acuerdo con el formato de cadena de entrada (hay demasiadas cadenas de formato ... Soy demasiado vago para escribirlas. Si las necesita, solo mire las líneas 748-871 en Atlas.js).
Extensión del objeto Número
1. Número Número.parse(cadena)
Intente analizar la cadena entrante como Número.
2. Número de cadena.toFormattedString(stringFormat)
Formatee y genere el objeto Número de acuerdo con el formato de cadena de entrada (todavía hay demasiadas cadenas de formato ... demasiado vago para escribirlo, si lo necesita, solo mire las líneas 935-1024 en Atlas.js).
La clase Sys.StringBuilder
es similar a StringBuilder en C#:
var sb = new Sys.StringBuilder();
sb.append("<div>");
sb.appendLine("una línea de texto");
sb.append("</div>");
someDOMElem.innerHTML = sb.toString();
El soporte orientado a objetos
define una clase base que se puede heredar
BaseClass = function()
{
// objeto
}
BaseClass.registerClass("BaseClass");
Clase heredadaDerivedClass
= function()
{
// Llamar a los constructores de bases
// El segundo argumento es una matriz que puedes usar para pasar argumentos
DerivedClass.intializeBase (esto, argumentos);
}
DerivedClass.registerClass("DerivedClass","BaseClass");
múltipleMultipleInherit
= función();
{
MultipleInherit.intializeBase(esto,argumentos); // arranque);
// objeto
}
MultipleInherit.registerClass("MultipleInherit",["BaseClass", "DerivedClass"]);
Definir métodos que se pueden anular
BaseClass = function();
{
// objeto
this.initialize = función()
{}
BaseClass.registerBaseMethod(this,"inicializar");
}
BaseClass.registerClass("BaseClass");
Llame al método anulado de la clase base
DerivedClass = function()
{
DerivedClass.initializeBase(this,argumentos); // arranque);
this.initialize = función()
{
DerivedClass.getBaseMethod(this,"BaseClass","initialize").call(this);
// Para pasar argumentos a la clase base:
// .call(esto,args1,args2,args3)
}
}
DerivedClass.registerClass("DerivedClass",["Atlas.Bindings.Base","BaseClass"]);
espacio de nombres
RegisterNamespace("Web.Utility");
// Implementar la utilidad web
registrarNamespace("Web.Performance");
// Implementar rendimiento
define el tipo de enumeración
var theEnum = Type.createEnum("name1","name2");
para (var strItems en theEnum.getValues())
{}
Definir tipo de bandera
var theFlags = Type.createFlags("nombre1",valor1,"nombre2",valor2,);