<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //函数的返回值必须要执行函数才能得到。 // //求和: // var num = getSum()+1+1+1; // alert(num); // // function getSum(){ // var sum = 0; // for(var i=1;i<=100;i++){ // sum+=i; // } // return sum; // } // // // //需求:1+1=2;拓展这个算式 // var aaa = fn(1,1); // alert(aaa); // alert(fn(2,2)); // // function fn(a,b){ // //规则中有几个变化的值,我们就定义几个变量。 // var sum = a+b; // //外部要用哪个值,我们就返回哪个值。 // return sum; // } // demo(); // function demo(){ // console.log(1); // console.log(2); //return可以切断函数。 break跳出这个循环。 continue跳出本次循环进入下一循环。 // return; // console.log(3); // console.log(4); // } </script> </body> </html>
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //(参数和返回值) //求圆的周长(long=2*pi*r) // var long1 = getLong(0.5); // console.log(long1); // console.log(getLong(1)); // function getLong(r){ //通俗版 // var pi = 3.141592653; // var l = 2*pi*r; // return l; // } //求圆的和面积(area = pi*r*r) // var area1 = getArea(1); // console.log(area1); // function getArea(r){ // //通俗版 //// var pi = 3.14; //// var a = pi*r*r; //// return a; // //精简版 //// var pi = Math.PI; //// var a = pi*Math.pow(r,2); //// return a; // //最终版 // return Math.PI*Math.pow(r,2); // } //求2个数中的最大值 // console.log(getMax(1,2)); // function getMax(num1,num2){ //// if(num1>num2){ //// return num1; //// }else{ //// return num2; //// } // //return是可以切断函数的。 //// if(num1>num2){ //// return num1; //// } //// return num2; // //三元运算 // return num1>num2?num1:num2; // } //求3个数中的最大值 // console.log(getMaxThree(-1,0,3)); // function getMaxThree(a,b,c){ //// var d = a>b?a:b; //// return d>c?d:c; // //精简版 // return (a>b?a:b)>c?(a>b?a:b):c; // //判断a和b //// if(a>b){ //// //如果a大判断a和c //// if(a>c){ //// return a; //// }else{ //// return c; //// } //// }else{ //// //如果b打,判断b和c //// if(b>c){ //// return b; //// }else{ //// return c; //// } //// } // } //求一组数中的最大值 // var arr = [-3,-2,-1,0,1,2,3]; // var maxValue = getArrMax(arr); // console.log(maxValue); // console.log(getArrMax(arr)); // // function getArrMax(array){ // //用的必须是形参的数组中的第一项。 // var max = array[0]; // for(var i=1;i<array.length;i++){ // if(array[i]>max){ // max = array[i]; // } // } // return max; // } //求一组数中的最小值 // var arr = [-3,-2,-1,0,1,2,3]; // var minValue = getArrMin(arr); // console.log(minValue); // console.log(getArrMin(arr)); // // function getArrMin(aaa){ // //把数组中的第一位默认为,最小值。 // var min = aaa[0]; // for(var i=1;i<aaa.length;i++){ // //判断数组中的每一项,如果下雨min,那么把他赋值给min // if(aaa[i]<min){ // min=aaa[i]; // } // } // //书写位置要注意,一定是这个for循环执行完毕之后再返回 // return min; // } //翻转数组,返回一个新数组 //用两种方法做,第一种创建心数组。第二种直接修改原数组。 // var arr1 = [1,2,3]; // var arr2 = reverse1(arr1); // console.log(arr2); // console.log(reverse1(arr1)); // //定义一个新数组,把老数组中的元素反向添加到新数组中 // function reverse1(array){ // var newArr = []; // for(var i=array.length-1;i>=0;i--){ // newArr[newArr.length] = array[i]; // } // return newArr; // } // var arr = [1,2,3]; // console.log(arr); //// console.log(reverse2(arr)); // reverse2(arr); // console.log(arr); // //修改或者说翻转原数组,此方法没有返回值,所以只能打印原数组。 // function reverse2(array){ // for(var i=0;i<array.length/2;i++){ // var temp = array[i]; // array[i] = array[array.length-1-i]; // array[array.length-1-i] = temp; // } // return array; //Array对象中的方法返回了一个数组。 // } //对数组排序,从小到大 // var arr = [2,1,3,4]; var arr = [4,3,2,1]; console.log(bubble(arr)); function bubble(array){ //外循环控制轮数(元素-1) for(var i=0;i<array.length-1;i++){ //开闭原则(标志,标识,旗帜) var flag = true; //内循环控制次数(元素-1) for(var j=0;j<array.length-1-i;j++){ //判断符合标准就交换位置 if(array[j]>array[j+1]){ var temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; flag = false; } } if(flag){ //此情况在数组是极限从大到小排列下,会出现问题。每一轮flag都是false,最终无返回值。 // return array; break; } } //有了return执行完毕方法后,就可以用变量接收返回值! return array; } </script> </body> </html>
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> // 求阶乘 // console.log(getJC(10)); // // function getJC(num){ // var sumJC = 1; // for(var i=1;i<=num;i++){ // sumJC *= i; // } // return sumJC; // } // 求1!+2!+3!+....+n!(函数嵌套) //求阶乘的和 // console.log(getSumJC(4)); // // function getSumJC(number){ // var sum = 0; // for(var i=1;i<=number;i++){ // sum += getJC(i);//求阶乘 // } // return sum; // } // 判断一个数是否是素数(质数) //思路:除了自身和1以外,不能被其他数整除。 //注意点: //1.必须用for循环实现 //2.判断是否是素数,所以她的返回值应该是true或者false。 //3.如果num%i===0了,那么一定不是素数。只有出了1和自身以外所有的数都不能整除,那么才能说她是素数。 console.log(isPrime(3)); // function isPrime(num){ // //除了自身和1以外,不能被其他数整除。 // for(var i=2;i<num;i++){ // if(num%i===0){ // return false; // } // } // return true; // } //拓展1(了解) // function isPrime(num){ // //开闭原则 // var bool = true; // //除了自身和1以外,不能被其他数整除。 // for(var i=2;i<num;i++){ // if(num%i===0){ // bool = false; // } // } // return bool; // } //拓展2 function isPrime(num){ //除了自身和1以外,不能被其他数整除。 for(var i=2;i<=num/2;i++){ if(num%i===0){ return false; } } return true; } //拓展3 // function isPrime(num){ // //除了自身和1以外,不能被其他数整除。 // //判断一个数是不是指数,只需要判断到他的平方根,超过平方根在判断,无意义。 // //因为一个数是由两个数相称得到的,一个变大,另外一个必然变小,那么判断到这个数的平方根就已经是极限了,不必超过平方根 // for(var i=2;i<=Math.sqrt(num);i++){ // if(num%i===0){ // return false; // } // } // return true; // } </script> </body> </html>
时间: 2024-10-27 01:27:58