1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script> 9 10 //(参数和返回值) 11 //求圆的周长(long=2*pi*r) 12 // var long1 = getLong(0.5); 13 // console.log(long1); 14 // console.log(getLong(1)); 15 // function getLong(r){ 16 //通俗版 17 // var pi = 3.141592653; 18 // var l = 2*pi*r; 19 // return l; 20 // } 21 22 //求圆的和面积(area = pi*r*r) 23 // var area1 = getArea(1); 24 // console.log(area1); 25 // function getArea(r){ 26 // //通俗版 27 //// var pi = 3.14; 28 //// var a = pi*r*r; 29 //// return a; 30 // //精简版 31 //// var pi = Math.PI; 32 //// var a = pi*Math.pow(r,2); 33 //// return a; 34 // //最终版 35 // return Math.PI*Math.pow(r,2); 36 // } 37 38 //求2个数中的最大值 39 40 // console.log(getMax(1,2)); 41 // function getMax(num1,num2){ 42 //// if(num1>num2){ 43 //// return num1; 44 //// }else{ 45 //// return num2; 46 //// } 47 // //return是可以切断函数的。 48 //// if(num1>num2){ 49 //// return num1; 50 //// } 51 //// return num2; 52 // //三元运算 53 // return num1>num2?num1:num2; 54 // } 55 56 //求3个数中的最大值 57 // console.log(getMaxThree(-1,0,3)); 58 // function getMaxThree(a,b,c){ 59 //// var d = a>b?a:b; 60 //// return d>c?d:c; 61 // //精简版 62 // return (a>b?a:b)>c?(a>b?a:b):c; 63 // //判断a和b 64 //// if(a>b){ 65 //// //如果a大判断a和c 66 //// if(a>c){ 67 //// return a; 68 //// }else{ 69 //// return c; 70 //// } 71 //// }else{ 72 //// //如果b打,判断b和c 73 //// if(b>c){ 74 //// return b; 75 //// }else{ 76 //// return c; 77 //// } 78 //// } 79 // } 80 81 82 //求一组数中的最大值 83 // var arr = [-3,-2,-1,0,1,2,3]; 84 // var maxValue = getArrMax(arr); 85 // console.log(maxValue); 86 // console.log(getArrMax(arr)); 87 // 88 // function getArrMax(array){ 89 // //用的必须是形参的数组中的第一项。 90 // var max = array[0]; 91 // for(var i=1;i<array.length;i++){ 92 // if(array[i]>max){ 93 // max = array[i]; 94 // } 95 // } 96 // return max; 97 // } 98 99 //求一组数中的最小值 100 // var arr = [-3,-2,-1,0,1,2,3]; 101 // var minValue = getArrMin(arr); 102 // console.log(minValue); 103 // console.log(getArrMin(arr)); 104 // 105 // function getArrMin(aaa){ 106 // //把数组中的第一位默认为,最小值。 107 // var min = aaa[0]; 108 // for(var i=1;i<aaa.length;i++){ 109 // //判断数组中的每一项,如果下雨min,那么把他赋值给min 110 // if(aaa[i]<min){ 111 // min=aaa[i]; 112 // } 113 // } 114 // //书写位置要注意,一定是这个for循环执行完毕之后再返回 115 // return min; 116 // } 117 118 119 //翻转数组,返回一个新数组 120 //用两种方法做,第一种创建心数组。第二种直接修改原数组。 121 // var arr1 = [1,2,3]; 122 // var arr2 = reverse1(arr1); 123 // console.log(arr2); 124 // console.log(reverse1(arr1)); 125 // //定义一个新数组,把老数组中的元素反向添加到新数组中 126 // function reverse1(array){ 127 // var newArr = []; 128 // for(var i=array.length-1;i>=0;i--){ 129 // newArr[newArr.length] = array[i]; 130 // } 131 // return newArr; 132 // } 133 134 // var arr = [1,2,3]; 135 // console.log(arr); 136 //// console.log(reverse2(arr)); 137 // reverse2(arr); 138 // console.log(arr); 139 // //修改或者说翻转原数组,此方法没有返回值,所以只能打印原数组。 140 // function reverse2(array){ 141 // for(var i=0;i<array.length/2;i++){ 142 // var temp = array[i]; 143 // array[i] = array[array.length-1-i]; 144 // array[array.length-1-i] = temp; 145 // } 146 // return array; //Array对象中的方法返回了一个数组。 147 // } 148 149 150 //对数组排序,从小到大 151 152 // var arr = [2,1,3,4]; 153 var arr = [4,3,2,1]; 154 console.log(bubble(arr)); 155 156 function bubble(array){ 157 //外循环控制轮数(元素-1) 158 for(var i=0;i<array.length-1;i++){ 159 //开闭原则(标志,标识,旗帜) 160 var flag = true; 161 //内循环控制次数(元素-1) 162 for(var j=0;j<array.length-1-i;j++){ 163 //判断符合标准就交换位置 164 if(array[j]>array[j+1]){ 165 var temp = array[j]; 166 array[j] = array[j+1]; 167 array[j+1] = temp; 168 flag = false; 169 } 170 } 171 if(flag){ 172 //此情况在数组是极限从大到小排列下,会出现问题。每一轮flag都是false,最终无返回值。 173 // return array; 174 break; 175 } 176 } 177 //有了return执行完毕方法后,就可以用变量接收返回值! 178 return array; 179 } 180 181 182 </script> 183 </body> 184 </html>