JavaScript笔记(2)

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>

你可能感兴趣的:(JavaScript)