Autor: Dflying Chen ( http://dflying.cnblogs.com/ )
JavaScript é uma linguagem baseada em objetos muito poderosa, mas ainda existem algumas deficiências em seu suporte para orientação a objetos. A biblioteca de classes construída também é relativamente simples e ainda carece de tudo. 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 de objeto String
String String.ltrim()
Remove todos os espaços no início da String original e retorna um novo objeto String.
StringString.rtrim()
Remove todos os espaços no final da String original e retorna um novo objeto String.
StringString.trim()
Remove todos os espaços no início e no final da String original e retorna um novo objeto String.
String booleana.endsWidth(strEnd)
Se esta String termina com a String passada.
String booleana.startsWith(strStart)
Se esta String começa com a String passada.
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.
StringString.removeSpaces()
Remove todos os espaços da String original e retorna um novo objeto String.
String String.removeExtraSpaces()
Substitua espaços consecutivos na String original por espaços únicos (incluindo retornos de carro) e retorne um novo objeto String.
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ões de objetos Array
void Array.queue(objValue) e void Array.add(objValue)
Insere o objValue especificado no final deste Array.
void Array.addRange(rangeArray)
Adicione o rangeArray especificado ao final do Array.
Boolean Array.contains(objValue) e Boolean Array.exists(objValue)
Retorna um valor booleano que representa se o Array contém o item objValue.
Matriz Array.clone()
Retorna uma cópia superficial deste Array.
void Array.insert(index, objValue)
Insira o objValue especificado na posição de índice do Array.
ObjectArray.dequeue()
Remove e retorna a primeira entrada neste Array.
Objeto Array.removeAt(índice)
Remove e retorna a entrada no índice especificado neste Array.
Matriz booleana.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.
Matriz Array.parse(string)
Analise o Array recebido representado por string em um Array.
vazio Array.clear()
Limpe todas as entradas nesta matriz.
Array inteiro.get_length()
Retorna o número de entradas neste Array, equivalente a Array.length.
Objeto Array.getItem(índice)
Retorna a entrada no índice especificado neste Array.
Extensão do objeto Date
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 Number Number.parse(string)
Tente analisar a string recebida como Número.
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>");
algumDOMElem.innerHTML = sb.toString();
O suporte orientado a objetos define classes básicas que podem ser herdadas de
ClasseBase = função()
{
// 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
Classe Derivada = função()
{
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.registerClass("DerivedClass",["Atlas.Bindings.Base","BaseClass"]);
NamespaceregisterNamespace
("Web.Utility");
//Implementar o utilitário da Web
registrarNamespace("Web.Performance");
//Implementar Desempenho
Defina o tipo de Enum var theEnum = Type.createEnum("name1","name2");
for (var strItems em theEnum.getValues())
{
}
Definir tipo de sinalizador
var theFlags = Type.createFlags("nome1",valor1,"nome2",valor2,);