JavaScript é uma linguagem baseada em objetos muito poderosa, mas seu suporte para orientação a objetos ainda apresenta algumas deficiências. Ao mesmo tempo, a biblioteca de classes integrada do JavaScript é relativamente simples e ainda carece de todas as funções comumente usadas. O ASP.NET Atlas estende o JavaScript em tempo de execução, aprimora muito seus recursos de suporte orientado a objetos e estende algumas operações comumente usadas durante o desenvolvimento.
Referi-me ao arquivo Atlas.js e concluí que o Atlas possui as seguintes extensões para JavaScript. Existem algumas omissões ou erros em alguns lugares, por favor, perdoe-me e corrija-me.
Extensão do objeto String
1. String String.ltrim()
Remove todos os espaços no início da String original e retorna um novo objeto String.
2. StringString.rtrim()
Remove todos os espaços no final da String original e retorna um novo objeto String.
3. StringString.trim()
Remove todos os espaços no início e no final da String original e retorna um novo objeto String.
4. Booleano String.endsWidth(strEnd)
Se esta String termina com a String passada.
5. String booleana.startsWith(strStart)
Se esta String começa com a String passada.
6. String String.format(args1,args2,.)
Semelhante a String.Format() em C#, {n} na String manipulada será substituído pelo enésimo parâmetro correspondente e um novo objeto String será retornado.
7. StringString.removeSpaces()
Remove todos os espaços da String original e retorna um novo objeto String.
8. String String.removeExtraSpaces()
Substitua espaços consecutivos na String original por espaços únicos (incluindo retornos de carro) e retorne um novo objeto String.
9. String String.removeSpaceDelimitedString(str)
Remove as palavras especificadas (fragmentos de texto separados por espaços) da String original e retorna um novo objeto String. Este método pode ser usado ao excluir um nome de classe que contém elementos DOM com vários nomes de classe.
Extensão do objeto Array
1. void Array.queue(objValue) e void Array.add(objValue)
Insere o objValue especificado no final deste Array.
2. void Array.addRange(rangeArray)
Adicione o rangeArray especificado ao final do Array.
3. Boolean Array.contains(objValue) e Boolean Array.exists(objValue)
Retorna um valor booleano que representa se o Array contém o item objValue.
4. Matriz Array.clone()
Retorna uma cópia superficial deste Array.
5. void Array.insert(index, objValue)
Insira o objValue especificado na posição de índice do Array.
6. Objeto Array.dequeue()
Remove e retorna a primeira entrada neste Array.
7. Objeto Array.removeAt(índice)
Remove e retorna a entrada no índice especificado neste Array.
8.Boolean Array.remove (objValue)
Remove a entrada objValue especificada do Array e retorna um valor booliano que indica se a entrada existe e foi removida com êxito.
9. Matriz Array.parse(string)
Analise o Array recebido representado por string em um Array.
10. void Array.clear()
Limpe todas as entradas nesta matriz.
11. Array inteiro.get_length()
Retorna o número de entradas neste Array, equivalente a Array.length.
12. Objeto Array.getItem(índice)
Retorna a entrada no índice especificado neste Array.
Extensão do objeto Date
1. String Date.toFormattedString(stringFormat)
Formate e produza o objeto Date de acordo com a entrada stringFormat (há muitas strings de formato... Estou com preguiça de escrevê-las. Se você precisar delas, basta olhar as linhas 748-871 em Atlas.js).
Extensão do objeto Number
1. Number Number.parse(string)
Tente analisar a string recebida como Número.
2. String Number.toFormattedString (stringFormat)
Formate e produza o objeto Number de acordo com a entrada stringFormat (a string de formato ainda é demais... com preguiça de escrevê-la, se precisar, basta olhar as linhas 935-1024 em Atlas.js).
A classe Sys.StringBuilder
é semelhante a StringBuilder em C#:
var sb = new Sys.StringBuilder();
append("<div>");
sb.appendLine("uma linha de texto");
sb.append("</div>");
someDOMElem.innerHTML = sb.toString();
suporte orientado a objetos
define uma classe base que pode ser herdada
BaseClass = function();
{
// objeto
}
BaseClass.registerClass("BaseClass");
classDerivedClass herdada
= function()
{
// Chama construtores base
// O segundo argumento é um array que você pode usar para passar argumentos
DerivedClass.intializeBase(este,argumentos);
}
DerivedClass.registerClass("DerivedClass","BaseClass");
múltiplaMultipleInherit
= function()
{
MultipleInherit.intializeBase(this,argumentos);
// objeto
}
MultipleInherit.registerClass("MultipleInherit",["BaseClass", "DerivedClass"]);
Define métodos que podem ser substituídos
BaseClass = function();
{
// objeto
this.initialize=função()
{}
BaseClass.registerBaseMethod(this,"inicializar");
}
BaseClass.registerClass("BaseClass");
Chame o método substituído da classe base
DerivedClass = function()
{
DerivedClass.initializeBase(this,argumentos);
this.initialize=função()
{
DerivedClass.getBaseMethod(this,"BaseClass","initialize").call(this);
// Para passar argumentos para a classe base:
// .call(este,args1,args2,args3)
}
}
"
DerivedClass",["Atlas.Bindings.Base","BaseClass"
]);
//Implementar o utilitário da Web
registrarNamespace("Web.Performance");
// Implementar Desempenho
define o tipo Enum
var theEnum = Type.createEnum("name1","name2");
for (var strItems em theEnum.getValues())
{}
Definir tipo de sinalizador
var theFlags = Type.createFlags("name1",value1,"name2",value2,);