Number对象的扩展
1、Number Number.parse(string)
尝试解析传入的stirng为Number。
2、String Number.toFormattedString(stringFormat)
依照输入的stringFormat格式化并输出该Number对象(format string还是太多了……懒得写了,需要的直接看Atlas.js中935-1024行)。
Sys.StringBuilder类
类似于C#中的StringBuilder:
var sb = new Sys.StringBuilder();
sb.append("<div>");
sb.appendLine("a line of text");
sb.append("</div>");
someDOMElem.innerHTML = sb.toString();
面向对象的支持
定义可以被继承的基类
BaseClass = function()
{
// object
}
BaseClass.registerClass("BaseClass");
继承类
DerivedClass = function()
{
// Call base constructors
// The 2nd argument is an array you can use to pass arguments
DerivedClass.intializeBase(this,arguments);
}
DerivedClass.registerClass("DerivedClass","BaseClass");
多重继承
MultipleInherit= function()
{
MultipleInherit.intializeBase(this,arguments);
// bootstrap
// object
}
MultipleInherit.registerClass
("MultipleInherit",["BaseClass", "DerivedClass"]);
定义可被覆写(override)的方法
BaseClass = function()
{
// object
this.initialize = function()
{}
BaseClass.registerBaseMethod(this,"initialize");
}
BaseClass.registerClass("BaseClass");
调用基类被覆写的方法
DerivedClass = function()
{
DerivedClass.initializeBase(this,arguments);
// bootstrap
this.initialize = function()
{
DerivedClass.getBaseMethod
(this,"BaseClass","initialize").call(this);
// To pass arguments to base class:
// .call(this,args1,args2,args3)
}
}
DerivedClass.registerClass
("DerivedClass",["Atlas.Bindings.Base","BaseClass"]);
名称空间
registerNamespace("Web.Utility");
// Implement Web Utility
registerNamespace("Web.Performance");
// Implement Performance
定义Enum类型
var theEnum = Type.createEnum("name1","name2");
for (var strItems in theEnum.getValues())
{}
定义Flag类型
var theFlags = Type.createFlags("name1",value1,"name2",value2,);