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 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
------------------- apply 方法:应用某一对象的一个方法,用另一个对象替换当前对象。
apply([thisObj[,argArray]])
参数:-thisObj。可选项。将被用作当前对象的对象。 -argArray。可选项。将被传递给该函数的参数数组。
说明:如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
要求:版本5.5或以上。
------------------- call 方法:调用一个对象的一个方法,以另一个对象替换当前对象。
call([thisObj[,arg1[, arg2[, [,.argN]]]]])
参数:-thisObj。可选项。将被用作当前对象的对象。 -arg1, arg2, , argN。可选项。将被传递方法参数序列。
说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
要求:版本5.5或以上。
------------------- 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); }
------------------- escape 方法:对 String 对象编码以便它们能在所有计算机上可读。
escape(charString)
必选项 charstring 参数是要编码的任意 String 对象或文字。
说明:escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %uxxxx 格式存储。
注意:escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。
------------------- unescape 方法:解码用 escape 方法进行了编码的 String 对象。
unescape(charstring)
必选项 charstring 参数是要解码的 String 对象。
说明:unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集中等价的字符代替。
以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。
注意:unescape 方法不能用于解码统一资源标识码 (URI)。解该码可使用 decodeURI 和 decodeURIComponent 方法。
------------------- eval 方法:检查 JScript 代码并执行。
eval(codeString)
必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。
说明:eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :
eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.
------------------- encodeURI 方法:将文本字符串编码为一个有效的统一资源标识符 (URI)。
encodeURI(URIString)
必选的 URIString 参数代表一个已编码的 URI。
说明:encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。
要求:版本5.5或以上。
------------------- decodeURI 方法:返回一个已编码的统一资源标识符 (URI) 的非编码形式。
decodeURI(URIstring)
必要的 URIstring 参数代表一个已编码 URI 的值。
说明:使用 decodeURI 方法代替已经过时的 unescape 方法。
decodeURI 方法返回一个字符串值。
如果 URIString 无效,那么将产生一个 URIError。
要求:版本5.5或以上。
------------------- encodeURIComponent 方法:将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。
encodeURIComponent(encodedURIString)
必选的 encodedURIString 参数代表一个已编码的 URI 组件。
说明:encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。因为 encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。
要求:版本5.5或以上。
------------------- decodeURIComponent 方法:返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。
decodeURIComponent(encodedURIString)
必选的 encodedURIString 参数代表一个已编码的 URI 组件。
说明:URIComponent 是一个完整的 URI 的一部分。
如果 encodedURIString 无效,将产生一个 URIError。
要求:版本5.5或以上。
------------------- for...in 语句:对应于一个对象的每个,或一个数组的每个元素,执行一个或多个语句。
for (variable in [object | array]) statements
参数:-variable。必选项。一个变量,它可以是 object 的任一属性或 array 的任一元素。 -object, array。可选项。要在其上遍历的对象或数组。 -statement。可选项。相对于 object 的每个属性或 array 的每个元素,都要被执行的一个或多个语句。可以是复合语句。
说明:在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。
当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、......
示例:下面示例说明了 for ... in 语句的用法,它把一个对象用作一个联合数组: function ForInDemo() { var a, key, s = ""; // 创建某些变量 a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"} // 初始化对象 for (key in a) { // 迭代属性 s += a[key] + "<BR/>"; } return(s); }
------------------- 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。
要求:版本5.5或以上。
------------------- push 方法:将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
参数:-arrayObj。必选项。一个 Array 对象。 -item, item2,. . . itemN。可选项。该 Array 的新元素。
说明:push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。
要求:版本5.5或以上。
------------------- 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); // 返回结果数组。 }
--------------上一页 [1] [2] [3] 下一页 |