行数就是封装可被重复执行调用的代码块;目的就是函数可能被大量的重复使用,

    01,利用函数翻转一个数组或字符串:

    1. function reverse(arr) {
    2. var newArr = []
    3. for (var i = arr.length- 1; i >= 0; i--) {
    4. newArr[newArr.length] = arr[i]
    5. }
    6. return newArr;
    7. }
    8. var arr1 = reverse([1, 2, 3, 4, 5])
    9. console.log(arr1);

    02,计算任意数值的和

    1. <script>
    2. function sum(){
    3.   var result = 0;
    4.   for(var i = 0;i<arguments.length;i++){
    5.     result+=arguments[i];
    6.   }
    7.   return result;
    8. }
    9. window.onload = function(){
    10.   alert(sum(1,2,3,4,5,6,7,9));
    11. }
    12. </script>

    03,求给定的任意值中的最大值

    1. <script>
    2. function Max(){
    3. var maxValue = arguments[0];
    4. for(var i=1; i<arguments.length; i++){
    5. if(maxValue < arguments[i]){
    6. maxValue = arguments[i];
    7. }
    8. }
    9. console.log(arguments);
    10. return maxValue;
    11. }
    12. console.log(Max(1,23,0,-1000,100,5,54)); // 100
    13. </script>

    04,可以用来实行函数的递归;

    1. <script>
    2. function factorial(n){
    3. if (n <= 0){
    4. return 1;
    5. } else{
    6. return n * arguments.callee(n-1);
    7. // return n*factorial(n-1);函数本身的递归
    8. }
    9. }
    10. alert(factorial(5)); // 120
    11. </script>

    05,封装冒泡排序

    1. function sort(arr) {
    2. for (var i = 0; i < arr.length - 1; i++) {
    3. for (var j = 0; j < arr.length - 1 - i; j++) {
    4. if (arr[j] > arr[j + 1]) {
    5. var temp = arr[j]
    6. arr[j] = arr[j + 1]
    7. arr[j + 1] = temp
    8. }
    9. }
    10. }
    11. return arr;
    12. }
    13. var arr1 = sort([1,5,2,3,4,6,8,7,9])
    14. console.log(arr1);