【 js基础 Day3】关键字的使用,数组(重点)和函数(重点)

在这里插入图片描述

01 复习

一元运算符: ++ –

如果不参与运算, ++在前面还是在后面结果都是一样的 +1
如果不参与运算, --在前面还是在后面结果都是一样的 -1

var num=10;
num++;+
++num;+

无论是前+还是后+只要参与运算,结果可能就不太一样
如:

 var num=10;
 var sum= num++ +10;

++在后面的时候,先参与运算,然后自身加1

 var num=10;
 var sum=++num +10;

++在前面的时候,先自身加1,然后再参与运算

流程控制: 代码的执行过程

  1. 顺序结构:代码的执行的顺序,从上到下,从左到右(不严谨)
  2. 分支结构: if,if-else ,if-esle if,switch-case ,三元表达式
  3. 循环结构:while 循环,do-while,for循环 for-in循环

总结分支:如果只有一个分支,就用if
如果有两个分支,就用if-else
如果多个分支,一般是范围的,推荐使用if-else if
如果多个分支,一般是具体的值,推荐使用switch-case

总结循环:
while:先判断后循环,有可能一次循环都不执行
do-while:至少执行一次循环体,再判断
for循环:知道了循环的次数,推荐使用for循环

调试:是为了找代码的错误和问题所在,
断点,不加断点,就不方便调试

//本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。
//计算5年后,获得的本金是多少?

   var money = 10000;//本金
   var rate=0.003;
   for(var i=0;i<5;i++){
     //money=money+money*rate;
     money+=money*rate;
   }
   console.log(money);
var money=10000;
var rate=0.003;
for(var i=0;i<5;i++)
{
  money+=money*rate
}
console.log(money)

有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21)

每个月的值 就是前两个月的和

  var num1=1;//第一个月
  var num2=1;//第二个月
  var sum=num1+num2;//第三个月

  var num1=num2;//第二个月
  var num2=sum;//第三个月
  sum=num1+num2;//第四个月
  
  var num1=num2;//第三个月
  var num2=sum;//第四个月
  var sum=num1+num2;
   var num1=1;//第一个月
    var num2=1;//第二个月
    var sum=0;
    //i=3是从第三个月开始
    for(var i=3;i<=12;i++){
      sum=num1+num2;
      num1=num2;
      num2=sum;
    }
    console.log(sum);

var a=1;
var b=1;
var c=0;
for(var i=3;i<=12;i++){
  c=a+b;
  a=b;
  b=c;
}
console.log(c)

练习: ++ 和 –

    var a = 1;

    var b = ++a + ++a;

    console.log(b);


    var a = 1;

    var b = a++ + ++a;
    console.log(b);


    var a = 1;

    var b = a++ + a++;
    console.log(b);


    var a = 1;

    var b = ++a + a++;
    console.log(b);


   var a=1;
   var b=++a + ++a+a++ + ++a;

  var sum=0;
  for(var i=1;i<=100&&i%2==0;i++){
    sum+=i;
  }
  console.log(sum)

 var num = 10;
 switch (num) {
   case 1:
   case 2:console.log("嘎嘎");break;}


   var i=1;
   j=i++ + i++;
   j=1+ 2++;
   console.log(j);

02 课程介绍

1.关键字的使用: break,continue

2.数组—重点-----
冒泡排序-----重点---------3分钟之内必须全部写完

3.函数–重点

03 break关键字的使用

break关键字:如果在循环中使用,遇到了break,则立刻跳出当前所在的循

  for(var i=0;i<10;i++){
      while (true){
        console.log("哈哈");
        break;//
      }
    }

    
        console.log("哈哈,我出来了");
     for (var i = 0; i < 10; i++) {
     
       //第四步说明break不能跳出for循环,因为for循环在while循环的外面
       
       while (true) {//第一步,此步为死循环
         console.log("yu");
         break;//第二步,
       }
     }
     console.log("shan");//第三

找到100到200之间第一个可以被7整除的数字,

    for (var i = 100; i <= 200; i++) {
      if (i % 7 == 0) {
        console.log(i);
        break;
      }
    }
    for(var i=100;i<=200;i++){
      if(i%7==0){
        console.log(i);
        break;
      }
    }

04 continue关键字的使用

continue:在循环中如果遇到continue关键字,直接开始下一次循

    var i=0;
    while (i<10){
      console.log("哈哈");
      //continue;
      i++;
    
 var i=0;
 while(i<10){
   console.log("hh")
   continue;
   i++;
 }

//案例:求100-200之间所有的奇数的和(用continue)
  var sum = 0;
  for (var i = 100; i <= 200; i++) {
    if (i % 2 != 0) {
      sum += i;
      continue;
      i++;
    }
  }
  console.log(sum)

//cj的方法

sum = 0;
for (var i = 100; i <= 200; i++) {
if (i % 2 == 0) continue;
else {
  sum += i;
}
}
console.log(sum)


var sum = 0;
var i = 100;
while (i <= 200) {
  //判断是不是偶数
  if (i % 2 == 0) {
    //如果是偶数----->跳过这个数字
    i++;//102
    continue;
  }
  sum += i;
  i++;
}
console.log(sum);

案例:求整数100~200的累加值,但要求跳过所有个位为3的数

 var sum = 0;
 for (var i = 100; i <= 200; i++) {
   if (i % 10 == 3) {
     continue;
   }
   sum += i;
 }
 console.log(sum)

 var sum = 0;
 for (var i = 100; i <= 200; i++) {
   if (i % 10 == 3) 
     continue;
   }
   sum += i
 }
 console.log(sum);

var sum=0;
var i=100;
while(i<=200){
  if(i%10==3){
    //个位数是3,不要
    i++;
    continue;
  }
  sum+=i;
  i++;
}
console.log(sum);


var sum=0;
var i=1;
while(i<=10){
  if(i%10==3){
    //个位数是3,不要
    i++;
    continue;
  }
  sum+=i;
  i++;
}
console.log(sum);

console.log(3%10  ==3);

05 数组

通过构造函数的方式定义一个数组

 var arr1 = new Array();
 var arr2 = new Array(5);
 alert(array);

数组的名字如果直接输出,那么直接就可以把数组中的数据显示出来,
如果没有数据,就看不到数据
就是一个数组----字面量的方式

 var arr3 = new Array(10,20,1000,40,50);
 console.log(arr3)

数组:一组有序的数据
数组的作用:可以一次性存储多个数据
数组的定义:
1. 通过构造函数创建数组

  语法:
    var 数组名=new Array();
    var array=new Array();//定义了一个数组

数组的名字如果直接输出,那么直接就可以把数组中的数据显示出来,如果没有数据,就看不到数据

var 数组名=new Array(长度);
如果数组中没有数据,但是有长度—,数组中的每个值就是undefined
构造函数的方式创建数组的时候,如果在Array(一个数字)—>数组的长度(数组元素的个数)
如果在Array(多个值);这个数组中就有数据了,数组的长度就是这些数据的个数
2. 通过字面量的方式创建数组

var 数组名=[];//空数组
var array=[];

无论是构造函数的方式还是字面量的方式,定义的数组,如果有长度,那么默认是undefined

数组:一组有序的数据
数组元素:数组中存储的每个数据,都可以叫数组的元素,比如:存储了3个数据,数组中3个元素
数组长度:就是数组的元素的个数,比如有3个元素,就说,这个数组的长度是3
数组索引(下标):用来存储或者访问数组中的数据的,索引从0开始,到长度减1结束
数组的索引和数组的长度的关系:长度减1就是最大的索引值

如何设置数组中某个位置的值

数组名[下标]=;
arr[3]=100;

如何获取数组中某个位置的值

var result=数组名[下标];
console.log(result);

通过构造函数的方式定义一个数组

    var array=new Array(5);//没有数据,空数组
    console.log(array);
alert(array);

就是一个数组---->字面量的方式

   var arr=[];
    console.log(arr);
var arr1=new Array();//构造函数的方式---空数组
var arr2=new Array(5);//构造函数的方式定义了一个数组,数组中有5个元素,数组长度是5,每个数据是undefined
        
var arr3=new Array(10,20,1000,40,50,60);
console.log(arr3);
var arr = new Array(10, 20, 30, 40, 50);
// console.log(arr[4])//获取
//设置,也就是修改某个值
arr[3] = 1000;
console.log(arr);
   //联想一下,当初求字符串的方式,length
   var arr=[10,20,30,40];
   console.log(arr.length);
  var arr=new Array(10,20,30,40,100);
  //console.log(arr[4]);//获取
  //设置
  arr[3]=1000;
  console.log(arr);
  //字面量的方式更简单

   var arr=[10,20,30,40,50,60,70,80,10,20,3043,5];//空数组
   console.log(arr.length);

小练习:请输入班级人数,根据班级人数,输入每个学生的数学成绩,求总成绩,求平均成绩,求最高分,求最低分
(可以尝试写一写)

06 数组的注意问题

 var arr=[10,2,3,4,1];
    长度:5
    索引:0-4
    console.log(arr);
    alert(arr);
 var arr=[10,"nnn",true,undefined,new Object()]
 console.log(arr);
数组中存储的数据类型一定是一样的吗? 类型可以不一样
  var arr=[10,"哈哈",true,null,undefined,new Object()];
  console.log(arr);
var arr = [];
arr[0] = 10;
arr[1] = 20;
console.log(arr.length);
console.log(arr[2]);

数组的长度是不是可以改变呢?

 var arr = [];
    //通过索引来设置数组中的元素的值
    arr[0] = 10;
    arr[1] = 20;
    console.log(arr.length);
    //获取元素的值,通过索引的方式
    console.log(arr[2]);

07 总结数组基础知识

数组:存储一组有序的数据
数组的作用:一次性存储多个数据
数组的定义方式:
1.构造函数定义数组: var 数组名=new Array();
2.字面量方式定义数组: var 数组名=[];

var 数组名=new Array();空数组
var 数组名=new Array(值);数组定义了,有长度
var 数组名=new Array(值1,值2,值3…);定义数组并且有多个数据
var 数组名=[];空数组
var 数组名=[值1,值2,值3];有三个数据

数组元素:就是数组中存储的数据
数组长度:就是数组中元素的个数
数组索引(下标):从0开始,到数组的长度减1结束
通过下标设置数组的元素值: 数组名[索引]=值
通过下标访问数组的元素值: 数组名[索引]

var arr1=new Array();
    var arr2=new Array(5);
    var arr3=new Array(1,2,3,4,5);
    var arr4=[];
    var arr5=[1,2,3];
    var arr6=["red","blue","green",1,true];
    var arr7=[];
    arr7[0]=10;
    arr7[1]=20;


    console.log(arr1);
    console.log(arr2);
    console.log(arr3);
    console.log(arr4);
    console.log(arr5);
    console.log(arr6);
    console.log(arr7);

    var arr1=new Array();//空数组
    var arr2=new Array(5);//长度为5的数组,每个数据的值是undefined
    var arr3=new Array(1,2,3,4,5);//长度为5分数组,
    var arr4=[];//空数组
    var arr5=[1,2,3];//长度为3的数组
    var arr6=["red","blue","green",1,true];//数组中元素的值的类型可以不一样

    var arr7=[];
    //设置数组的元素的值
    arr7[0]=10;
    arr7[1]=20;

08 for循环遍历数组

 var arr=[10,20,30,40];
     console.log(arr[0]);
     console.log(arr[1]);
     console.log(arr[2]);
     console.log(arr[3]);
     console.log(arr[4]);

    var arr = [10, 20, 30, 40, 50];
    //显示数组中的每个数据
    console.log(arr[0]);
    console.log(arr[1]);
    console.log(arr[2]);
    console.log(arr[3]);
    console.log(arr[4]);
    console.log(arr[5]);//没有数据

    //通过for循环遍历数组
    var arr = [10, 20, 30, 40, 50];
    for (var i = 0; i < arr.length; i++) {
      console.log(arr[i])
    }

     var arr=[10,20,30,40,50,60,70,80,90,100];
 //小于的是数组的长度--个数
     for(var i=0;i<arr.length;i++){
       console.log(arr[i]);
     }

09 数组案例(1)

//案例1:求数组中所有元素的和

   var arr1=[10,20,30,40,50]
   var sum=0;
   for(var i=0;i<arr1.length;i++){
     sum+=arr1[i];
   }
   console.log(sum)

   var arr1 = [10, 20, 30, 40, 50];
   var sum = 0;
   for (var i = 0; i < arr1.length; i++) {
     sum += arr1[i];
   }
   console.log(sum);

案例2:求数组中所有元素的平均值

  
   var arr2=[1,2,3,4,5];
   var sum2=0;
   for(var i=0;i<arr2.length;i++){
     sum2+=arr2[i];
   }
   console.log(sum2/arr2.length)

  
   var arr2 = [1, 2, 3, 4, 5];
   var sum2 = 0;
   for (var i = 0; i < arr2.length; i++) {
     sum2 += arr2[i];
   }
   console.log(sum2 / arr2.length);

案例3:求数组中所有元素中的最大值

  var arr3 = [1, 2, 3, 4, 10, 2, 3, 6, 9, 11, 78, 55];
  var max = arr3[0];
  for (var i = 0; i < arr3.length; i++) {
    if (max < arr3[i]) {
      max = arr3[i];
    }
  }
  console.log("最大值:" + max)

   var arr3 = [1, 3, 2, 5, 10, 100, 50];
   //假设max变量中存储的是最大值
   var max = arr3[0];
   for (var i = 0; i < arr3.length; i++) {
     //判断这个变量的值和数组中每个元素的值是不是最大值
     if (max < arr3[i]) {
       max = arr3[i];
     }
   }
   console.log("最大值:" + max);
   //一个不好的地方----会出现bug的
    var arr3=[-1,-2,-3];
    //假设max变量中存储的是最大值
    var max=0;
    for(var i=0;i<arr3.length;i++){
      //判断这个变量的值和数组中每个元素的值是不是最大值
      if(max<arr3[i]){
        max=arr3[i];
      }
    }
    console.log("最大值:"+max);

   var arr3=[1,3,2,5,10,100,50];
   //假设max变量中存储的是最大值
   var max=Number.MIN_VALUE;//假设变量是最大的,但是实际上存储的是最小的值
   for(var i=0;i<arr3.length;i++){
     //判断这个变量的值和数组中每个元素的值是不是最大值
     if(max<arr3[i]){
       max=arr3[i];
     }
   }
   console.log("最大值:"+max);

案例4:求数组中所有元素的最小值

    var arr4 = [1, 2, -3, 4, 10, 2, 3, 6, 9, 11, 78, 55];
     var min = arr4[0];
     for (var i = 0; i < arr4.length; i++) {
       if (min > arr4[i]) {
         min = arr4[i];
       }
     }
     console.log("最小值:" + min)


    var arr4 = [100, 10, 20, 30, 40, 50];
    var min = arr4[0];//假设min里存储的就是最小值
    for (var i = 0; i < arr4.length; i++) {
      if (min > arr4[i]) {
        min = arr4[i];
      }
    }
    console.log("最小值:" + min);

09 数组案例(2)

案例5:倒序遍历数组

    var arr5 = [10, 20, 30, 40, 50];
    //正序
    for (var i = 0; i < arr5.length; i++)
      console.log(arr5[i]);
    //那么倒序呢
    for(var i=arr5.length-1;i>=0;i--){
      console.log(arr5[i])
    }

    var arr5 = [10, 20, 30, 40, 50, 100];
    //正序
    //    for (var i = 0; i < arr5.length; i++) {
    //      console.log(arr5[i]);
    //    }
    //倒序
    for (var i = arr5.length - 1; i >= 0; i--) {
      console.log(arr5[i]);
    }

案例6:把数组中每个元素用|拼接到一起产生一个字符串并输出

var names = ["卡卡西", "佐助", "鸣人", "大蛇丸", "雏田", "小苏", "凤姐", "黑崎一护"];
   var str = "";
   for (var i = 0; i < names.length - 1; i++) {
     str += "|" + names[i];
   }
   console.log(str + names[names.length - 1]);

   var names = ["卡卡西", "佐助", "鸣人", "大蛇丸", "雏田", "小苏", "凤姐", "黑崎一护"];
   var str = "";//空的字符串
   for (var i = 0; i < names.length - 1; i++) {
     str += "|" + names[i];
   }
   console.log(str + names[names.length - 1]);
  var names = ["卡卡西", "佐助", "鸣人", "大蛇丸", "雏田", "小苏", "凤姐", "黑崎一护"];
  var str = "";//空的字符串
  for (var i = 1; i < names.length; i++) {
    str += "|" + names[i];
  }
  console.log(names[0] + str);

案例7:去掉数组中重复的0,把其他的数据放在一个新的数组中

var arr = [10, 0, 20, 0, 30, 0, 50];
 var newArr = [];//新数组,用来存放第一个数组中所有非0的数字
 for (var i = 0; i <= arr.length; i++) {
   if (arr[i] != 0) {
     newArr[newArr.length] = arr[i];
   }
 }
 console.log(newArr);


 var arr = [10, 0, 20, 0, 30, 0, 50];
 var newArr = [];//新数组,用来存放第一个数组中所有非0的数字
 for (var i = 0; i <=arr.length; i++) {
   if (arr[i] != 0) {
     newArr[newArr.length] = arr[i];
   }
 }
 //把新数组的长度作为下标使用,数组的长度是可以改变的
 console.log(newArr);

案例8:反转数组—把数组中的数据的位置调换

   var array = [1, 2, 3, 4, 5]
    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;
    }
    console.log(array)

    var array = [10, 20, 30, 40, 50];
    //循环的目的是控制交换的次数
    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;
    }
    console.log(array);


   for(var i=array.length-1;i>=0;i--){
     console.log(array[i]);
   }
   console.log(array);//50 40 30 20 10

案例9:提示用户输入班级人数,求总成绩,平均值,最高分,最低分—扩展

//提示用户输入人数,并转成数字类型
 var perCount = parseInt(prompt("请输入班级人数"));
 //定义数组存储班级的每个人的成绩
 var perScores = [];
 //循环的方式录入每个人的成绩
 for (var i = 0; i < perCount; i++) {
   //把每个人的成绩存储到数组中
   perScores[perScores.length] = parseInt(prompt("请输入第" + (i + 1) + "个人的成绩:"));
 }
 console.log(perScores);
 //求总成绩
 var sum = 0;
 var avg = 0;//平均值
 var max = perScores[0];//最大值
 var min = perScores[0];//最小值
 for (var i = 0; i < perScores.length; i++) {
   sum += perScores[i];//求和
   //求最大值
   if (max < perScores[i]) {
     max = perScores[i];
   }
   //求最小值
   if (min > perScores[i]) {
     min = perScores[i];
   }
 }
 //平均值
 avg = sum / perScores.length;
 console.log("和为:" + sum);
 console.log("平均值:" + avg);
 console.log("最大值:" + max);
 console.log("最小值:" + min);

案例10: 冒泡排序

11 冒泡排序

案例8:反转数组—把数组中的数据的位置调换

var array = [1, 2, 3, 4, 5]
  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;
  }
  console.log(array)

  var perCount=parseInt(prompt("请输入班级人数"));
  var perScores=[];
  for(var i=0;i<perCount;i++){
    perScores[perScores.length]=parseInt(prompt("请输入第"+(i+1)+"个人的成绩:"));
  }
  console.log(perScores);
  var sum=0;
  var avg=0;
  var max=perScores[0];
  var min=perScores[0];
  for(var i=0;i<perScores.length;i++){
    sum+=perScores[i];
    if(max<perScores[i]){
      max=perScores[i];
    }
    if(min>perScores){
      min=perScores[i];
    }
  }
  avg=sum/perScores.length;
  console.log("和为:"+sum);
  console.log("平均值为:"+avg);
  console.log("最大值为:"+max);
  console.log("最小值为:"+min);


  var arr=[10,20,30];
  var sum=0;
  for(var i=0;i<arr.length;i++){
    sum+=arr[i];
  }

冒泡排序:把所有的数据按照一定的顺序进行排列(从小到大,从大到下)

  var arr = [10, 0, 100, 20, 60, 30]
    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;
        }
      }
    }
    console.log(arr);
    //从小到大:大于号
    //从大到小:小于号

    var arr = [10, 0, 100, 20, 60, 30];
    //循环控制比较的轮数
    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;
        }
      }
    }
    console.log(arr);

12 函数介绍及定义

单身生活:

早上饿了
自己做饭-----番茄炒西红柿盖饭-----
切菜
洗菜
放油
炒菜
放盐
装盘
—目的—吃

中午饿了
自己做饭—番茄炒西红柿盖饭
切菜
洗菜
放油
炒菜
放盐
装盘
—目的—吃

晚上饿了
自己做饭—番茄炒西红柿盖饭
切菜
洗菜
放油
炒菜
放盐
装盘
—目的—吃

半夜饿了
自己做饭—番茄炒西红柿盖饭
切菜
洗菜
放油
炒菜
放盐
装盘
—目的—吃

非单身—

早上饿了
找一个会做饭的人—做饭的所有的步骤,都是这个人

中午饿了
一个人

晚上饿了
这个人

函数:把一坨重复的代码封装,在需要的时候直接调用即可
函数的作用:代码的重用

函数的定义
语法:

function 函数名字(){
  函数体-----一坨重复的代码
}

函数的调用:

函数名();

 //单身生活
 //早上
 console.log("切菜");
 console.log("炒菜");
 console.log("放油");
 console.log("炒菜");
 console.log("装盘");

 //中午
 console.log("切菜");
 console.log("炒菜");
 console.log("放油");
 console.log("炒菜");
 console.log("装盘");

 //晚上

 console.log("切菜");
 console.log("炒菜");
 console.log("放油");
 console.log("炒菜");
 console.log("装盘");

 //半夜
 console.log("切菜");
 console.log("炒菜");
 console.log("放油");
 console.log("炒菜");
 console.log("装盘");


 //有函数了,把这些重复使用的代码放在函数中写,在需要的时候直接调用函数就可以

 function cook(){
   console.log("hh");
 }
 console.log("早上====");
 cook();
 console.log("中午====");
 cook();
 console.log("晚上====");
 cook();
 console.log("半夜====");
 cook();

 //函数定义
 function cook() {
   console.log("切菜");
   console.log("放油");
   console.log("炒菜");
   console.log("放盐");
   console.log("装盘");
 }

 //函数调用
 console.log("早上======");
 cook();
 console.log("中午======");
 cook();
 console.log("晚上======");
 cook();
 console.log("半夜======");
 cook();
 console.log("后半夜");
 cook();

13 函数的小练习

函数需要先定义,然后才能使用
函数名字:要遵循驼峰命名法
函数一旦重名,后面的会把前面的函数覆盖
Ctrl +鼠标左键---->转到定义
一个函数最好就是一个功能
下面的所有的函数的代码-----全部作废

alert("jjj");

     function alert() {
       console.log("哇塞,哭了哇函数迪斯噶");
     }
       alert("弹框");

      function f1() {
        console.log("小杨好帅哦");
      }
      function f1() {
        console.log("小苏好猥琐哦");
      }
      f1(); -->

通过函数
求两个数字的和

  function consoleSum() {
    var num1 = 10;
    var num2 = 20;
    var num3 = 30;
    var sum = num1 + num2 + num3;
    console.log(sum)
  }
  consoleSum();
  
  
function consoleSum() {//函数定义
    var num1 = 100;
    var num2 = 200;
    var sum = num1 + num2;
    console.log(sum);
  }
  //调用
  consoleSum();

求三个数字的和

    function consoleSum2() {
      var num1 = 10;
      var num2 = 20;
      var num3 = 30;
      var sum = num1 + num2 + num3;
      console.log(sum);
    }
    consoleSum2();

   function consoleMax1() {
     var x = 1220;
     var y = 2220;
     var z = 1900;
     var max = x>y?(x>z?x:z):(y>z?y:z);//嵌套的三元表达式
     console.log(max);
   }
   consoleMax1();

求两个数字的最大值

  function consoleMax() {
    var x = 10222;
    var y = 220;
    console.log(x > y ? x : y);
  }
  consoleMax();

求三个数字的最大值

  function consoleMax2() {
    var x = 10;
    var y = 20;
    var z = 30;
    var max = x > y ? (x > z ? x : z) : (y > z ? y : z);//嵌套的三元表达式
    console.log(max);
  }

 // consoleMax2()

求1-100之间所有数字的和

  function Sum() {
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
      sum += i;
    }
    console.log(sum)
  }
  Sum();


  function everySum() {
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
      sum += i;
    }
    console.log(sum);
  }
  everySum();

求1-100之间所有偶数的和

  function everyEvenSum1() {
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
      if (i % 2 == 0) {
        sum += i;
      }
    }
    console.log(sum)
  }

 // everyEvenSum1();


  function everyEvenSum() {
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
      if (i % 2 == 0) {
        sum += i;
      }
    }
    console.log(sum);
  }
  everyEvenSum();

求一个数组的和

  function consoleArraySum1(){
    var sum=0;
    var arr=[10,20,30,40,50];
    for(var i=0;i<arr.length;i++){
      sum+=arr[i];
    }
    console.log(sum);
  }
  consoleArraySum1();

  function consoleArraySum() {
    var sum = 0;
    var arr = [10, 20, 30, 40, 50];
    for (var i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    console.log(sum);
  }
  consoleArraySum();

14 函数的参数

函数参数:
在函数定义的时候,函数名字后面的小括号里的变量就是参数,目的是函数在调用的时候,
用户传进来的值操作
此时函数定义的时候后面的小括号里的变量叫参数;写了两个变量,就有两个参数,
在函数调用的时候,按照提示的方式,给变量赋值—>就叫传值,把这个值就传到了变量(参数)中

形参:函数在定义的时候小括号里的变量叫形参
实参:函数在调用的时候小括号里传入的值叫实参,实参可以是变量也可以是值

 function consoleSum1() {
       var x = 10;
       var y = 20;
       var sum = x + y;
       console.log(sum);
     }
     consoleSum1();

     function consoleSum1(x, y, z) {
       var sum = x* y * z;
       console.log(sum);
     }
     consoleSum1(10, 20, 30)


    //函数定义
    function consoleSum(x, y) {
      var sum = x + y;//计算和----功能
      console.log(sum);//输出和---第二个功能
    }
   //函数调用
   var num1=parseInt(prompt("输入第一个数字"));
   var num2=parseInt(prompt("输入第二个数字"));
   consoleSum(num1, num2);


       function f1(x) {
         console.log(x);
       }
       function f2(x,y) {
        console.log(x,y);
       }
       function f3(x,y,z) {
        console.log(x,y,z);
       }
       function f4(x,y,z,k) {
        console.log(x,y,z,k);
       }


       f1(1)
       f2(2,3)
       f3(7,8,8)
       f4(5,4,0,2)

15 函数的返回值

set:设置
get:获取
函数的返回值:在函数内部有return关键字,并且在关键字后面有内容,这个内容被返回了
当函数调用之后,需要这个返回值,那么就定义变量接收,即可

如果一个函数中有return ,那么这个函数就有返回值
如果一个函数中没有return,那么这个函数就没有返回值
如果一个函数中没有明确的返回值,那么调用的时候接收了,结果就是undefined
(没有明确返回值:函数中没有return,函数中有return,但是return后面没有任何内容)
函数没有返回值,但是在调用的时候接收了,那么结果就是undefined
变量声明了,没有赋值,结果也是undefined
如果一个函数有参数,有参数的函数
如果一个函数没有参数,没有参数的函数
形参的个数和实参的个数可以不一致
return 下面的代码是不会执行的

    function f11(x,y){
      var sum=x+y;
      return sum;
      console.log("hh");
      return 100;
    }
    var aa=f11(11,22)
    console.log(aa)



    function getSum(x, y) {
     return x + y;
    }
    var aa=getSum(10, 20);
    console.log(aa+10);

    function f1(x, y) {
      var sum = x + y;
      return sum;
      console.log("助教才是最帅的");
      return 100;
    }
    var result = f1(10, 20);
    console.log(result);

   function getSum(x, y) {
     var sum = x + y;
     return sum;//把和返回
   }

函数调用

   var result=getSum(10, 20);
   console.log(result+10);

函数定义: 有参数有返回值的函数

function getSum(x, y) {
  return  x + y;//把和返回
}

函数调用

  var result=getSum(10, 20);
  console.log(result+10);

有参数,有返回值的函数

   function f1(x,y) {
     return x+y;
   }

有参数,无返回值的函数

   function f2(x) {
     console.log(x);
   }

无参数,有返回值的函数

   function f3() {
     return 100;
   }

无参数无返回值的函数

function f4() {
  console.log("萨瓦迪卡");
}
var sum=f1(10);
console.log(sum);

16 函数案例

//求两个数字的和:获取任意的两个数字的和
    function getSum(x, y) {
      return x + y;
    }
    console.log(getSum(10, 20));


    //求1-100之间所有的数字的和
    function geteverySum() {
      var sum=0;
      for(var i=1;i<=100;i++){
        sum+=i;
      }
      return sum;
    }
    console.log(geteverySum());


    // //- 求1-n之间所有数的和
   function geteverySum(n) {
     var sum = 0;
     for (var i = 1; i <= n; i++) {
       sum += i;
     }
     return sum;
   }
   console.log(geteverySum(10));


    //    - 求n-m之间所有数的和


   function geteverySum2(n, m) {
     var sum = 0;
     for (var i = n; i <= m; i++) {
       sum += i;
     }
     return sum;
   }
   console.log(geteverySum2(1, 100));

    // //求圆的面积
   function getS(r) {
     return Math.PI * r * r;
   }
   console.log(getS(5));


    -2个数中的最大值
    -3个数中的最大值
    - 判断一个数是否是素数(质数)


    function f1() {
      console.log("考尼奇瓦");
      return 100;
    }
    //f1函数调用,把函数的返回值输出了
    console.log(f1());
    
    function f1() {
      console.log("考尼奇瓦");
      return 100;
    }
    console.log(f1);//输出的f1函数名字-----是f1函数的代码

17 习题

求整数1~100的累加值,但要求碰到个位为3的数则停止累加

   var sum=0;
   for(var i=1;i<=10;i++){
     if(i%10==3){
        continue;
     }
    sum+=i;
   }
   console.log(sum)

求1-100之间不能被7整除的整数的和(用continue)

var sum = 0;
 for (var i = 1; i <= 6; i++) {
   if (i % 7 != 0) {
     sum += i;
     continue;
   }
 }
 console.log(sum)

求200-300之间所有的奇数的和(用continue)

 var sum = 0;
 for (var i = 200; i <= 300; i++) {
   if (i % 2 != 0) {
     sum += i;
   }
 }
 console.log(sum)

求3个数中的最大值
思路:用函数+三元表达式

     function max() {
       var x = 1;
       var y = 2;
       var z = 3;
       console.log(x > y ? (x > z ? x : z) : (y > z ? y : z));
     }
     max();

求3个数中的最大值
判断一个数是否是素数(质数)

   var aa=parseInt(prompt("请输入一个数字"))

求1-n之间所有数的和

  function geteverysum(n) {
       var sum = 0;
       for (var i = 0; i <= n; i++) {
         sum += i;
       }
       return sum;
     }
     console.log(geteverysum(10))

求n-m之间所有数的和

 function geteverysum(n,m) {
   var sum = 0;
   for (var i = n; i <= m; i++) {
     sum += i;
   }
   return sum;
 }
 console.log(geteverysum(1,10))

求圆的面积 π*r^2

  function circle(r){
     return Math.PI*r*r;

    }
   console.log(circle(8))

求2个数中的最大值
求3个数中的最大值
判断一个数是否是素数(质数):从2开始,只能被自身和1整除

求1-100之间所有的数字的和

 function geteverysum(){
   var sum=0;
   for(var i=0;i<=100;i++){
     sum+=i;
   }
   return sum;
 }
 console.log(geteverysum())
     function f1(){
       console.log("s");
       return 100;
     }
//函数调用,把函数的返回值输出了
     console.log(f1);

如果括号内是f1,那么输出的是定义函数的内容
如果括号内是f1(),那么输出的是结果

其他参考链接

【 js基础 Day1】js的介绍及基本语法变量,运算符

【 js基础 Day2】js的流程控制:分支语句,循环.顺序结构

【 js基础 Day3】关键字的使用,数组(重点)和函数(重点)

【 js基础 Day4】面向过程,面向对象,自定义对象,内置对象

【 js基础 Day5】函数(重点),作用域,预解析,arguments,对象

【 js基础 Day6】内置对象和基本包装类型等知识

【如果你不是新手】推荐链接

【js高级 Day1】深入理解原型及作用,构造函数和实例对象和原型对象之间的关系

【js高级 Day2】深入理解原型添加方法,私有函数,面向对象的编程思想(案例小贪吃蛇)

【js高级 Day3】深入理解原型的方式继承,借用构造函数继承,组合继承,拷贝继承

【js高级 Day4】深入理解apply和call方法,作用域,闭包,递归

【js高级 Day5】深入理解浅拷贝,深拷贝,遍历DOM树,正则表达式

发布了227 篇原创文章 · 获赞 41 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42554191/article/details/104296797