标签:lag 嵌套 ret rmi div 思路 meta 个数 元素
<!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>
标签:lag 嵌套 ret rmi div 思路 meta 个数 元素
原文地址:http://www.cnblogs.com/sj1988/p/6579964.html