参考:
JScript 语言参考
http://msdn2.microsoft.com/en-us/library/f0eay1h3.aspx
Asp.net AJAX 在线文档
Asp.net AJAX JavaScript Array类型扩展
add 方法
添加一个元素到Array数组的最后。
例:
var a = ['a', 'b', 'c', 'd'];
Array.add(a, 'e');
// View the results: "abcde"
alert(a.toString());
addRange 方法
复制指定Array数组的元素到到另一个制定的Array数组的最后。
例:
var a = ['a', 'b', 'c', 'd'];
var b = ['f', 'g','h'];
Array.addRange(a, b);
// View the results: "abcdefgh"
alert(a.toString());
clear 方法
清除指定Array数组的所有元素。
例:
Array.clear(array);
clone 方法
克隆指定Array数组
例:
var a = ['a', 'b', 'c', 'd'];
var b = Array.clone(a);
// View the results: "abcd"
alert(b.toString());
contains 方法
判断指定元素是否在
例:
var a = ['red', 'green', 'blue', 'yellow'];
var b = Array.contains(a, "red");
// View the results: "true"
alert(b.toString());
dequeue 方法
返回指定数组的第一个元素并从数组中移除本元素。
例:
var myArray = [];
var result = "";
Array.add(myArray, 'a');
Array.add(myArray, 'b');
Array.add(myArray, 'c');
Array.add(myArray, 'd');
result = Array.dequeue(myArray);
// View the results: "b,c,d"
alert("Dequeue result: " + result + "myArray: " + myArray.toString());
enqueue 方法
添加一个元素到Array数组的最后。可以用add方法代替。
说明:这个方法客户端提供支持但是不建议直接在代码中试用此方法。也就是说用add而不是enqueue。
forEach 方法
对Array数组内的所有元素进行一次指定方法遍历。
例:
var a = ['a', 'b', 'c', 'd'];
a[5] = 'e';
var result = '';
function appendToString(element, index, array) {
// "this" is the context parameter, i.e. '|'.
result += element + this + index + ',';
}
Array.forEach(a, appendToString, '|');
// View the results: a|0,b|1,c|2,d|3,e|5,
alert(result);
indexOf 方法
搜索指定元素在Array数组中的索引位
例:
var a = ['red', 'blue', 'green', 'blue'];
var myFirstIndex = Array.indexOf(a, "blue");
// View the results: "1"
alert("myFirstIndex: " + myFirstIndex);
var mySecondIndex = Array.indexOf(a, "blue", (myFirstIndex + 1) );
// View the results: "3"
alert("mySecondIndex: " + mySecondIndex);
insert 方法
在指定索引位插入指定元素
例:
var a = ['a', 'b', 'd', 'e'];
Array.insert(a, 2, 'c');
// View the results: "a,b,c,d,e"
alert(a.toString());
parse 方法
通过string字符串创建Array元素。分隔符位半角逗号“,”
remove 方法
从Array数组中移除指定元素。
removeAt 方法
从Array数组中移除指定索引位的元素
例:
var a = ['a', 'b', 'c', 'd', 'e'];
Array.remove(a, 'c');
// View the results: "a,b,d,e"
alert(a);
Array.removeAt(a, 2);
// View the results: "a,b,e"
alert(a);
Array基本类型
Array 对象
提供对创建任何数据类型的数组的支持。
arrayObj = new Array()
arrayObj = new Array([size])
arrayObj = new Array([element0[, element1[, ...[, elementN]]]])
参数
arrayObj
必选项。要赋值为 Array 对象的变量名。
size
可选项。可选项数组的大小。由于数组的下标是从零开始,创建的元素的下标将从零到 size -1。
element0,...,elementN
可选项。要放到数组中的元素。这将创建具有 n + 1 个元素的长度为 n + 1 的数组。使用该语法时必须有一个以上元素。
说明
创建数组后,能够用 [ ] 符号访问数组单个元素,例如:
var my_array = new Array();
for (i = 0; i < 10; i++)
{
my_array[i] = i;
}
x = my_array[4];
由于 Microsoft JScript 中的数组的下标是从零开始的,前面例子中最后一条语句访问数组的第五个元素。该元素中保存的值是 4。
如果只向 Array 的构造函数传递了一个参数,而该参数是数字,则它必须是无符号32位整数(大约40亿)。该值成为数组的大小。如果该值
为数值,但小于0或不为整数,发生运行时错误。
如果传递给 Array 构造函数的是单个值并且不是数值,设置 length 属性为1,而且唯一的元素值成为单个的传入的参数。
请注意 JScript 数组为解析数组,也就是尽管可以分配多个元素给一个数组,但实际上只有包含数据的元素才存在。这减少了数组使用的内
存数量。
属性
constructor 属性 | length 属性 | prototype 属性
constructor 属性
表示创建对象的函数。
object.constructor
必需的 object是对象或函数的名称。
说明
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor
属性保存了对构造特定对象实例的函数的引用。 例如:
x = new String("Hi");
if (x.constructor == String)
// 进行处理(条件为真)。
或
function MyFunc {
// 函数体。
}
y = new MyFunc;
if (y.constructor == MyFunc)
// 进行处理(条件为真)。
length 属性 (Array)
返回一个整数值,这个整数比数组中所定义的最高位元素的下标大 1。
numVar = arrayObj.length
参数
numVar
必选项。任意数值。
arrayObj
必选项。 任意 Array 对象。
说明
因为一个数组中的元素并不一定是连续的,所以 length 属性也并不一定就等于数组中的元素个数。例如,在下面的数组定义
中,my_array.length 中就包含 7,而不是 2:
var my_array = new Array( );
my_array[0] = "Test";
my_array[6] = "Another Test";
如果 length 属性被赋予了一个比原先值小的数值,那么数组就被截断,所有数组下标等于或者大于 length 属性的新值的元素都会被丢失
。
如果 length 属性被赋予了一个比原先值大的数值,那么数组就被扩展,且所有新建元素都被赋值为 undefined。
下面这个例子说明了 length 属性的用法:
function LengthDemo(){
var a;
a = new Array(0,1,2,3,4);
return(a.length);
}
prototype 属性
返回对象类型原型的引用。
objectName.prototype
objectName 参数是对象的名称。
说明
用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。
例如,要为 Array 对象添加返回数组中最大元素值的方法。 要完成这一点,声明该函数,将它加入 Array.prototype, 并使用它。
function array_max( ){
var i, max = this[0];
for (i = 1; i < this.length; i++)
{
if (max < this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
该代码执行后,y 保存数组 x 中的最大值,或说 6。
所有 JScript 固有对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定
义的对象可以被赋给新的原型。
方法
concat 方法 | join 方法 | pop 方法 | push 方法 | reverse 方法 | shift 方法 | slice 方法 | sort 方法 | splice 方法 |
toString 方法 | unshift 方法 | valueOf 方法
concat 方法 (Array)
返回一个新数组,这个新数组是由两个或更多数组组合而成的。
array1.concat([item1[, item2[, . . . [, itemN]]]])
参数
array1
必选项。其他所有数组要进行连接的 Array 对象。
item1,. . ., itemN
可选项。要连接到 array1 末尾的其他项目。
说明
concat 方法返回一个 Array 对象,其中包含了 array1 和提供的任意其他项目的连接。
要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。如果某一项为数组,那么添加其内容到 array1 的末尾。如果该项目不
是数组,就将其作为单个的数组元素添加到数组的末尾。
以下为从源数组复制元素到结果数组:
对于从正被连接到新数组的数组中复制的对象参数,复制后仍然指向相同的对象。不论新数组和源数组中哪一个有改变,都将引起另一个的
改变。
对于连接到新数组的数值或字符串,只复制其值。一个数组中值有改变并不影响另一个数组中的值。
示例
下面这个例子说明了使用数组时 concat 方法的用法:
function ConcatArrayDemo(){
var a, b, c, d;
a = new Array(1,2,3);
b = "JScript";
c = new Array(42, "VBScript);
d = a.concat(b, c);
// 返回数组 [1, 2, 3, "JScript", 42, "VBScript"]
return(d);
}
join 方法
返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。
arrayObj.join(separator)
参数
arrayObj
必选项。Array 对象。
separator
必选项。是一个 String 对象,作为最终的 String 对象中对数组元素之间的分隔符。如果省略了这个参数,那么数组元素之间就用一个逗
号来分隔。
说明
如果数组中有元素没有定义或者为 null,将其作为空字符串处理。
示例
下面这个例子说明了 join 方法的用法。
function JoinDemo(){
var a, b;
a = new Array(0,1,2,3,4);
b = a.join("-");
return(b);
}
pop 方法
移除数组中的最后一个元素并返回该元素。
arrayObj.pop( )
必选的 arrayObj 引用是一个 Array 对象。
说明
如果该数组为空,那么将返回 undefined。
push 方法
将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
参数
arrayObj
必选项。一个 Array 对象。
item, item2,. . . itemN
可选项。该 Array 的新元素。
说明
push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数
组中的元素,请使用 concat 方法。
reverse 方法
返回一个元素顺序被反转的 Array 对象。
arrayObj.reverse( )
必选项 arrayObj 参数为 Array 对象。
说明
reverse 方法将一个 Array 对象中的元素位置进行反转。在执行过程中,这个方法并不会创建一个新的 Array 对象。
如果数组是不连续的,reverse 方法将在数组中创建元素以便填充数组中的间隔。这样所创建的全部元素的值都是 undefined。
示例
下面这个例子说明了 reverse 方法的用法:
function ReverseDemo(){
var a, l; // 声明变量。
a = new Array(0,1,2,3,4); // 创建数组并赋值。
l = a.reverse(); // 反转数组的内容。
return(l); // 返回结果数组。
}
shift 方法
移除数组中的第一个元素并返回该元素。
arrayObj.shift( )
必选的 arrayObj 引用是一个 Array 对象。
说明
shift 方法可移除数组中的第一个元素并返回该元素。
slice 方法 (Array)
返回一个数组的一段。
arrayObj.slice(start, [end])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。
end
可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。
说明
slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。
slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的
长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到
arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
示例
在下面这个例子中,除了最后一个元素之外,myArray 中所有的元素都被复制到 newArray 中:
newArray = myArray.slice(0, -1)
sort 方法
返回一个元素已经进行了排序的 Array 对象。
arrayobj.sort(sortfunction)
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
说明
sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。
如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
示例
下面这个例子说明了 sort 方法的用法:
function SortDemo(){
var a, l; // 声明变量。
a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
l = a.sort(); // 排序数组。
return(l); // 返回排序的数组。
}
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新
Array 对象。
toString 方法
返回对象的字符串表示。
objectname.toString([radix])
参数
objectname
必选项。要得到字符串表示的对象。
radix
可选项。指定将数字值转换为字符串时的进制。
说明
toString 方法是所有内建的 JScript 对象的成员。它的操作依赖于对象的类型:
对象 操作
Array 将 Array 的元素转换为字符串。结果字符串由逗号分隔,且连接起来。
Boolean 如果 Boolean 值是 true,则返回 “true”。否则,返回 “false”。
Date 返回日期的文字表示法。
Error 返回一个包含相关错误消息的字符串。
Function 返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称:
function functionname( ) { [native code] }
Number 返回数字的文字表示。
String 返回 String 对象的值。
默认 返回 “[object objectname]”,其中 objectname 是对象类型的名称。
示例
下面的例子演示了使用带有 radix 参数的 toString 方法。上面所示函数的返回值是一个 Radix 转换表。
function CreateRadixTable (){
var s, s1, s2, s3, x; // 声明变量。
s = "Hex Dec Bin \n"; // 创建表头。
for (x = 0; x < 16; x++) // 根据所示值的
{ // 数字建立
switch(x) // 表尺寸。
{ // 设置栏目间空间。
case 0 :
s1 = " ";
s2 = " ";
s3 = " ";
break;
case 1 :
s1 = " ";
s2 = " ";
s3 = " ";
break;
case 2 :
s3 = " ";
break;
case 3 :
s3 = " ";
break;
case 4 :
s3 = " ";
break;
case 5 :
s3 = " ";
break;
case 6 :
s3 = " ";
break;
case 7 :
s3 = " ";
break;
case 8 :
s3 = "" ;
break;
case 9 :
s3 = "";
break;
default:
s1 = " ";
s2 = "";
s3 = " ";
} // 转换为十六进制、十进制、二进制。
s += " " + x.toString(16) + s1 + x.toString(10)
s += s2 + s3 + x.toString(2)+ "\n";
}
return(s); // 返回整个 radix 表。
}
unshift 方法
将指定的元素插入数组开始位置并返回该数组。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
item1, item2,. . .,itemN
可选项。将插入到该 Array 开始部分的元素。
说明
unshift 方法将这些元素插入到一个数组的开始部分,所以这些元素将以参数序列中的次序出现在数组中。
valueOf 方法
返回指定对象的原始值。
object.valueOf( )
必选项 object 参数是任意固有 JScript 对象。
说明
每个 JScript 固有对象的 valueOf 方法定义不同。
对象 返回值
Array 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与 Array.toString 和 Array.join 方法相同。
Boolean Boolean 值。
Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。
Function 函数本身。
Number 数字值。
Object 对象本身。这是默认情况。
String 字符串值。
Math 和 Error 对象没有 valueOf 方法。