1.字符串反转
var sMyString = "abcdefg";
alert(sMyString.split("").reverse().join(""));
/* split("")将每一个字符转为一个数组元素
reverse()反序数组的每个元素
join("")再最后将数组无连接符的转为字符串
*/
2.函数的arguments属性为当前执行的 function 对象返回一个arguments 对象。
function.arguments
function 参数是当前执行函数的名称,可以省略。
说明
通过 arguments 属性,函数可以处理可变数量的参数。 arguments 对象的 length 属性包含了传递给函数的参数的数目。对于arguments 对象所包含的单个参数,其访问方法与数组中所包含的参数的访问方法相同。
function ArgTest(a, b){
var i, s = "The ArgTest function expected ";
var numargs = arguments.length;
// 获取被传递参数的数值。
var expargs = ArgTest.length;
// 获取期望参数的数值。
if (expargs < 2)
s += expargs + " argument. ";
else
s += expargs + " arguments. ";
if (numargs < 2)
s += numargs + " was passed.";
else
s += numargs + " were passed.";
s += "\n\n"
for (i =0 ; i < numargs; i++){
// 获取参数内容。
s += " Arg " + i + " = " + arguments[i] + "\n";
}
return(s);
// 返回参数列表。
}
.用 arguments 对象判断传递给函数的参数个数,即可模拟函数重载:
function doAdd() {
if(arguments.length == 1) {
alert(arguments[0] + 5);
} else if(arguments.length == 2) {
alert(arguments[0] + arguments[1]);
}
}
doAdd(10); //输出 "15"
doAdd(40, 20); //输出 "60"
function fnAdd(){
if(arguments.length == 0)
return;
else if(arguments.length == 1)
return arguments[0] + 5;
else{
var iSum = 0;
for(var i=0;i<arguments.length;i++)
iSum += arguments[i];
return iSum;
}
}
document.write(fnAdd(45) + "<br>");
document.write(fnAdd(45,50) + "<br>");
document.write(fnAdd(45,50,55,60) + "<br>");