行数就是封装可被重复执行调用的代码块;目的就是函数可能被大量的重复使用,
01,利用函数翻转一个数组或字符串:
function reverse(arr) {var newArr = []for (var i = arr.length- 1; i >= 0; i--) {newArr[newArr.length] = arr[i]}return newArr;}var arr1 = reverse([1, 2, 3, 4, 5])console.log(arr1);
02,计算任意数值的和
<script>function sum(){var result = 0;for(var i = 0;i<arguments.length;i++){result+=arguments[i];}return result;}window.onload = function(){alert(sum(1,2,3,4,5,6,7,9));}</script>
03,求给定的任意值中的最大值
<script>function Max(){var maxValue = arguments[0];for(var i=1; i<arguments.length; i++){if(maxValue < arguments[i]){maxValue = arguments[i];}}console.log(arguments);return maxValue;}console.log(Max(1,23,0,-1000,100,5,54)); // 100</script>
04,可以用来实行函数的递归;
<script>function factorial(n){if (n <= 0){return 1;} else{return n * arguments.callee(n-1);// return n*factorial(n-1);函数本身的递归}}alert(factorial(5)); // 120</script>
05,封装冒泡排序
function sort(arr) {for (var i = 0; i < arr.length - 1; i++) {for (var j = 0; j < arr.length - 1 - i; j++) {if (arr[j] > arr[j + 1]) {var temp = arr[j]arr[j] = arr[j + 1]arr[j + 1] = temp}}}return arr;}var arr1 = sort([1,5,2,3,4,6,8,7,9])console.log(arr1);
