ajax.net对javascript基本类型的扩展
1
//1.ajax.net对Array类型的扩展2
div1.innerHTML += '1.ajax.net对Array类型的扩展<br/>';3
var _aArray = ['家狗', '肥猪', '灰鼠', '花猫', '飞鸟'];4
var _bArray = ['黄种人', '千里马', '夏蝉'];5
//////////////////////////////////////////////////////////////////6
Array.add(_aArray, '亚洲人'); //将 '亚洲人' 项添加至_aArray最后7
div1.innerHTML += _aArray+'<br/>';8
//////////////////////////////////////////////////////////////////9
Array.enqueue(_bArray, '非洲人'); //将 '非洲人' 添加至_bArray最后10
div1.innerHTML += _bArray + '<br/>';11
//////////////////////////////////////////////////////////////////12
Array.addRange(_aArray, _bArray); //将_bArray中的项依次加到_aArray最后13
div1.innerHTML += _aArray + '<br/>';14
//////////////////////////////////////////////////////////////////15
var _cArray = Array.clone(_aArray); //复制_aArray中的项到_cArray中,浅复制16
div1.innerHTML += _cArray + '// --此处输出的是从_aArray中复到到_cArray中的项--' + '<br/>';17
//////////////////////////////////////////////////////////////////18
var _containsState = Array.contains(_aArray, '灰鼠'); //灰鼠是否包含在_aArray中19
div1.innerHTML += _containsState + ' //--包含--<br/>';20
//////////////////////////////////////////////////////////////////21
var _deletedItem = Array.dequeue(_aArray); //删除_aArray中的第一项22
div1.innerHTML += ' //--' + _deletedItem + '已经从_aArray中删除--<br/>';23
//////////////////////////////////////////////////////////////////24
var _result;25

function appendToString(element, index, array)
{26
//this是上下文参数,这里是'|'27
_result += element + this + index + ',';28
}29
Array.forEach(_aArray, appendToString, '|'); //依次访问该Array中的每一项并在其上应用传入的方法30
//Array.forEach(array,method,instance)中,method所指定的方法的并两个参数并不可少,instance可以为null31
div1.innerHTML += _result + "<br/>";32
//////////////////////////////////////////////////////////////////33
var _index = Array.indexOf(_aArray, '花猫'); //从索引0处开始在_aArray中查询'花猫'的的索引,如果没找到就返回-134
div1.innerHTML += '花猫在 _aArray中的索引为' + _index + '<br/>';35
//////////////////////////////////////////////////////////////////36
Array.insert(_bArray, 1, '超人')//在_bArray的索引1处插入'超人'37
div1.innerHTML += _bArray + ' //--插入后的结果--<br/>';38
//////////////////////////////////////////////////////////////////39
var _parsedArray = Array.parse("['红', '黄', '蓝', '绿']"); //将字符串解析为Array40
div1.innerHTML += _parsedArray + ' //--从字符串中解析为数组--<br/>';41
//////////////////////////////////////////////////////////////////42
Array.clear(_aArray); //添除_aArray中的所有项43
div1.innerHTML += _aArray + ' // --_aArray已经清除--<br/>';44
div1.innerHTML += "<br/><br/><br/>"45
//////////////////////////////////////////////////////////////////46
//////////////////////////////////////////////////////////////////
1
//2.ajax.net对Boolean类型的扩展2
div1.innerHTML += '2.ajax.net对Boolean类型的扩展<br/>';3
var _true = Boolean.parse('true'); //字符串解析为Boolean类型4
div1.innerHTML +=_true+'<br/>';5
div1.innerHTML += '<br/><br/><br/>';6
//////////////////////////////////////////////////////////////////7
//////////////////////////////////////////////////////////////////
1
//3.ajax.net对Date类型的扩展2
div1.innerHTML += '3.ajax.net对Date类型的扩展<br/>';3

4
// Date类型的常用区域设定无关格式化字符5
//字符 描述 示例6
// d 缩写日期 02/19/20077
// D 完整日期 Saturday, 19 February 20078
// t 缩写时间 23:109
// T 完整时间 23:10:3010
// F 完整时间日期 Saturday, 19 February 2007 23:10:3011
// M或m 日期中的月和日 February 1912
// s 可排序的时间日期 2007-02-19T23:10:3013
// Y或y 日期中的年和月 2007 February14
//若想了解完完整的Date类型格式化字符列表及详细介绍,看 Standard DateTime Format Strings (http://msdn2.microsoft.com/en-us/libray/bb79761a-ca08-44e-b142-b06b3e2fc22b.aspx)15
16
var _date = new Date();17
var _dateString = _date.format('yyyy年MM月dd日 HH时mm分ss秒'); //指定格式化日期时间,区域设定无关18
div1.innerHTML += _dateString + ' //--指定格式化日期时间,区域设定无关--<br/>';19
//////////////////////////////////////////////////////////////////20
_dateString = _date.localeFormat('yyyy年MM月dd日 HH时mm分ss秒'); //指定格式化日期时间,区域设定相关21
div1.innerHTML += _dateString + '//--指定格式化日期时间,区域设定相关--<br/>';22
_dateString = Date.parseInvariant('2008/09/02', 'yyyy年MM月dd日','yyyy/MM/dd'); //将指定日期格式化为指定格式的日期,如果指定了多个格式就从第一个开始尝试直到成功,如果所有格式均无法解析就抛出异常23
div1.innerHTML += _dateString + '//--将指定日期格式化为指定格式的日期,如果指定了多个格式就从第一个开始尝试直到成功,如果所有格式均无法解析就抛出异常--<br/>';24
div1.innerHTML += '<br/><br/><br/>';25
//////////////////////////////////////////////////////////////////26
//////////////////////////////////////////////////////////////////
1
//4.ajax.net对Error类型的扩展2
div1.innerHTML += '4.ajax.net对Error类型的扩展';3
var message;4
var errorInfo;5
var paramName;6
var actualValue;7
var expectedType;8
var err = Error.create(message, errorInfo); //创建一个错语对象--根据异常消息message和相关的异常信息对象errorInfo创建一个Error对象9
Error.argument(paramName, message); //创建一个参数异常错误对象--根据异常消息message和非法的参数paramName创建一个Sys.ArgumentException类型的异常10
Error.argumentNull(paramName, message); //创建一个参数为空的异常错误对象--根据异常信息message和值为null的参数prarmName创建一个Sys.ArgumentNullException类型的异常11
Error.argumentOutOfRange(paramName,actualValue,message);//创建一个参数超出范围的异常错误对象--根据异常消息message引发该异常参数paramName及该参数的实际值actualValue创建一个Sys.ArgumentOutOfRangeException类型的异常12
Error.argumentType(paramName,actualValue,expectedType,message);//创建一个参数类型异常错误对象--根据异常消息message参数名paramName期待参数类型expectedType和实际参数类型actualType创建一个Sys.ArgumentTypeException类型的异常13
Error.argumentUndefined(paramName,message);//创建一个参数未定义异常错误对象--根据异常消息message和未定义的参数paramName创建一个Sys.ArgumentUndefinedException类型的异常14
Error.invalidOperation(message);//创建一个非法操作异常错误对象--根据异常消息message创建一个Sys.InvalidOperationException类型的异常15
Error.notImplemented(message);//创建一个未生效的异常错误对象--根据异常消息message创建一个Sys.NotImplementedException类型的异常16
Error.parameterCount(message);//创建一个参数数量异常的错误对象--根据异常信息message创建一个Sys.ParameterCountException类型的异常17
err.popStackFrame();//得到实例的调用出错的位置--将该Error的实例的filename和lineNumber字段更新为该Error被抛出时的位置,而不是该Error被创建时的位置18
div1.innerHTML += '<br/><br/><br/>';19
//////////////////////////////////////////////////////////////////20
//////////////////////////////////////////////////////////////////
1
//5.ajax.net对Number类型的扩展2
div1.innerHTML += '5.ajax.net对Number类型的扩展<br/>';3

4
//Number类型的常用区域设定无关格式化字符5
//字符 描述 示例6
// p 百分比形式 -1234.56%7
// d 普通十进制形式 -1234.568
// c 货币金额形式 $1,234.569
// n 逗号三位分隔 1,234.5610
//若想了解完整的Number类型格式化字符列表及其详细介如看 Standard Numeric Format Strings (http://msdn2.microsoft.com/en-us/libray/580e57eb-ac47-4ffd-bccd-3a1637c2f467.aspx)11
12
var num=-1234567.89;13
var numString;14
numString=num.format('n');//用'n'格式化Number类型,区域设定无关,并以字符串形式输出15
div1.innerHTML +=numString+'<br/>';16
numString=num.localeFormat('d'); //用'd'格式化Number类型,区域设定相关,并以字符串形式输出17
div1.innerHTML+=numString+'<br/>';18
19
var newNum;20
newNum=Number.parseLocale('01/01/2008 03:30:11');//将字符串表示的本地时间日期解析成相应的Number类型,该方法将从Sys.CultureInfo.CurrentCulture中得到区域信息中的的默认格式,并尝试应用该格式进行解析。21
div1.innerHTML+=newNum+'<br/>';22
newNum=Number.parseInvariant('01/01/2008 03:30:11');//从字符串表示的区域无关时间日期解析成相应的Number类型23
div1.innerHTML += newNum + '<br/>';24
25
div1.innerHTML += '<br/><br/><br/>';26
//////////////////////////////////////////////////////////////////27
//////////////////////////////////////////////////////////////////
1
//6.ajax.net对Object类型的扩展2
div1.innerHTML += '6.ajax.net对Object类型的扩展<br/>';3

4
Type.registerNamespace("human"); //注册 human 名字空间5
//创建 human下的yellowMan类6

human.yellowMan = function(skinColor, hairColor)
{7
this._skinColor = color;8
this._hairColor = hairColor;9
}10
human.yelloMan.registerClass("human.yellowMan"); //注册类11
12

13
var _man = new human.yelloMan("Yellow", "Black");14
var _typeName = Object.getTypeName(_man); //得到对象的类型名称15
Sys.Debug.trace("_man的类型名为"+_typeName);16
var _type = Object.getType(_man); //得到对象的类型17
Sys.Debug.traceDump(_type); //输出类型18
19
div1.innerHTML += '<br/><br/><br/>';20
//////////////////////////////////////////////////////////////////21
//////////////////////////////////////////////////////////////////
1
//7.ajax.net对String类型的扩展2
div1.innerHTML += '7.ajax.net对String类型的扩展<br/>';3
var fileName = 'somevediofile.txt';4
div1.innerHTML += fileName.startsWith('some')+'<br/>';//看是否有some 前缀5
div1.innerHTML += fileName.endsWith('.txt') + '<br/>'; //看是否有.txt后缀6
fileName = fileName.trimStart();// 去掉开头的空格及tab7
fileName = fileName.trimEnd(); //去掉结尾的空格及tab8
fileName = fileName.trim(); //去掉开头及结尾的空格及tab9

10

var customer =
{11
name: '二狗',12
sex: '男'13
};14

15
var customerLabelText = String.format('name:{0},sex:{1}', customer.name, customer.sex); //格式化字符串16
div1.innerHTML += customerLabelText + '<br/>';17
customerLabelText = String.localeFormat('name:{0},sex:{1}', customer.name, customer.sex); // 同上,不过格式化时考虑到了区域设定18
div1.innerHTML += customerLabelText + '<br/>';
浙公网安备 33010602011771号