jsDay03

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

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

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

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

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

//案例:求100-200之间所有的奇数的和(用continue)

// 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;
// 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);

数组:一组有序的数据

//数组的作用:可以一次性存储多个数据
//数组的定义:
/*
*
* 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 arr=[10,2,3,4,1];
//长度:5
//索引:0-4
//console.log(arr);
//alert(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 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;

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

//案例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);

//案例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);

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

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 = [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);


//案例5:倒序遍历数组

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=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);


//案例8:反转数组---把数组中的数据的位置调换
//    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: 冒泡排序

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

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);

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

*
* 函数的定义
* 语法:
*
* function 函数名字(){
*   函数体-----一坨重复的代码
* }
*
* 函数的调用:
*
* 函数名();
*
*
//函数需要先定义,然后才能使用
//函数名字:要遵循驼峰命名法
//函数一旦重名,后面的会把前面的函数覆盖
//Ctrl +鼠标左键---->转到定义
//一个函数最好就是一个功能

//通过函数
//求两个数字的和
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 consoleMax() {
  var x = 10;
  var y = 20;
  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 everySum() {
  var sum=0;
  for(var i=1;i<=100;i++){
    sum+=i;
  }
  console.log(sum);
}
everySum();
//求1-100之间所有偶数的和
function everyEvenSum() {
  var sum=0;
  for(var i=1;i<=100;i++){
    if(i%2==0){
      sum+=i;
    }
  }
  console.log(sum);
}
everyEvenSum();

//求一个数组的和
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();

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

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

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

//求两个数字的和:获取任意的两个数字的和
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));
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容