js模拟方法重载:
虽然js不直接支持方法重载,但是可以通过
arguments.length方法得到传递参数的个数,从而间接实现方法的重载。
<script language="javascript">
function add(){
if(1==arguments.length){
alert(arguments[0]);
}
if(2==arguments.length){
alert(arguments[0]+arguments[1]);
}
}
add(1);
add("hello"," word");
</script>
=====================================
js的数组:
<script language="javascript">
/**
* JavaScript中的数组长度是可变的
*/
//声明数组方式之一:
var array = new Array();
array.push(1);
array.push(2);
alert(array.length);
//声明数组方式之二:
var array2 = [1,2,3];
alert(array2.length);
</script>
=====================================
js数组排序
<script language="javascript">
/**
* JavaScript数组排序
* 可使用sort()方法,
* sort()方法首先将数组元素转化为字符串,然后进行排序
* 所以如果字符串[3,1,23]排序之后是1,23,3
* sort()方法默认按照元素升序排列
*/
var array = [3,24,1];
array.sort();
alert(array);
/**
* sort()方法可接收参数,使用参数内传递的方法进行排序:
*/
var array2 = [3,24,1];
function compare(number1, number2){
var temp1 = parseInt(number1);
var temp2 = parseInt(number2);
if(temp1 < temp2){
return -1;
}
else if(temp1 == temp2){
return 0;
}
else{
return 1;
}
}
array2.sort(compare);
alert(array2);
/**
* js支持匿名函数
*
*/
var array3 = [27,45,23];
array3.sort(function(num1, num2){
var tmp1 = parseInt(num1);
var tmp2 = parseInt(num2);
if(tmp1 < tmp2){
return -1;
}
else if(tmp1 == tmp2){
return 0;
}
else{
return 1;
}
}
);
alert(array3);
</script>