继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript日常修炼笔记(第三天)

groven
关注TA
已关注
手记 7
粉丝 368
获赞 70

学习JavaScript第三天,继续朝着万元高薪进发。
学习JavaScript并不能单纯的死记硬背,也不能一直按着代码一直写,虽然很重要,但是更重要的是理解他的意思,你要实现一个功能应该怎么写。现在一直摸索着,希望以后学习好了能把经验带给大家,一起加油。

(什么是数组)

我们知道变量用来存储数据,一个变量只能存储一个内容。
但是一个数组变量可以存放多个数据。
数组是一个值的集合,每个值都有一个索引号,从0开始。
我们还可以用简单的方法创建上面的数组和赋值:
var myarray = new Array(66,80,90,77,59);//创建数组同时赋值。
var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)

<script type="text/javascript">
    var myarr = new Array();//创建新的数组
    myarr[0] = "小米";
    myarr[1] = 80;
    myarr[2] = 20;
    document.write(myarr[0] + "<br>");
    document.write(myarr[1] + "<br>");
    document.write(myarr[2] + "<br>");
</script>

(数组属性length)

如果我们想知道数组的大小,只需引用数组的一个属性length。Length属性表示数组的长度,即数组中元素的个数。
length属性会经常用到,所以一定要深刻了解。

myarray.length; //获得数组myarray的长度

注意:因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。如数组的长度是5,数组的上下限分别是0和4。

二维数组

  1. 二维数组的定义方法一
    var myarr=new Array(); //先声明一维
    for(var i=0;i<2;i++){ //一维长度为2
    myarr[i]=new Array(); //再声明二维
    for(var j=0;j<3;j++){ //二维长度为3
    myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j
    }
    }
  2. 二维数组的定义方法二,直接赋值

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]

例子:

<script type="text/javascript">
var myarr = new Array();
for(var i=1; i<3; i++){
    myarr[i] = new Array();
    for(var j=1; j<4; j++){
        myarr[i][j]=i*j;
        document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
    }
}
</script>

这个例子就是先声明一维数组,并且让它小于3的时候自增,然后定义二维数组,并且让它小于4的时候自增,再让【i】【j】每个组合相乘,得出结果。

简单的数组编程练习:

<script type="text/javascript">
 //创建数组
 var myarr = ["*","##","***","&&","****","##"];
 myarr[7] = "**";
 //显示数组长度
 var arr = ["*","**","***","****"];
document.write(myarr[0] + "<br/>");
document.write(myarr[7] + "<br/>");
document.write(myarr[2] + "<br/>");
document.write(myarr[4] + "<br/>");
document.write(arr.length + "<br/>");

 //将数组内容输出,完成达到的效果。
for(var j=0;j<arr.length;j++){
    document.write(arr[j] + "<br/>");
}

</script>

这里写了两种最简单的表达式,一种很费力的输出每个数组,很麻烦,一种是通过length长度,用for循环显示,方便很多。注意,数组从0开始。

多重判断(if..else嵌套语句)

语法:

if(条件1)
{ 条件1成立时执行的代码}
else if(条件2)
{ 条件2成立时执行的代码}
...
else if(条件n)
{ 条件n成立时执行的代码}
else
{ 条件1、2至n不成立时执行的代码}

<script type="text/JavaScript">
var myage =99;//赵红的年龄为99
if(myage<=44)
  {document.write("青年");}
else if(myage<=59) 
  {document.write("中年人");}
else if  (myage<=89)
  {document.write("老年人");}
else        
  {document.write("长寿老年人");}
</script>

这些都是简单的语句,多熟悉就好。

多种选择(Switch语句)

当有很多种选项的时候,switch比if else使用更方便。
语法:

switch(表达式)
{
case值1:
执行代码块 1
break;
case值2:
执行代码块 2
break;
...
case值n:
执行代码块 n
break;
default:
与 case值1 、 case值2...case值n 不同时执行的代码
}

//这是一段字符串的写法。
<script type="text/JavaScript">
function swc(){
var pro = prompt("你喜欢撸啊撸吗?","你说呢");
switch(pro){
case "喜欢":
case "非常喜欢":
document.write("要多练习代码。");
break;
case "一般":
document.write("很好");
break;
default:
alert("想说明啥?喜欢?非常喜欢?或者一般?");
}
}
</script>
<input type="button" value="你喜欢撸啊撸吗?" onclick="swc()">

重复重复(for循环)

我们有1,2,3...10不同面值的钱,使用for语句完成合计,看看我们一共有多少钱,请补充第8行代码,实现该功能。

<script type="text/JavaScript">
var mymoney,sum=0;//mymoney变量存放不同面值,sum总计
//等于:
//var mymoney;
//var sum = 0;
//即申明了两个变量, my money和sum。其中sum赋值为0.
for(mymoney=1;mymoney<=10;mymoney++)
{ 
  sum= sum + mymoney;
}
  document.write("sum合计:"+sum);
</script>

其实这里就等于1块钱+到10块钱的意思,你要求和。
sum = 0 + 1 sum就等于1.
sum = 1+2 sum就等于 3
如此类推,得到55

while循环

和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。
while语句结构:

while(判断条件)
{
循环语句
}

<script type="text/javascript">
    var num = 0; //初始化值
    while(num<=5){ //条件判断
        num = num +1; //条件值更新
        document.write("取出第" + num + "个球" + "<br>");
    }
</script>

(Do...while循环)

do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。
do...while语句结构:

do
{
循环语句
}
while(判断条件)

<script type="text/javascript">
    var num =1;
    do{
        num = num + 1;//更新条件
        document.write("数字:" + num + "<br>");
    }
    while(num<=10);

</script>

退出循环break

语法:

for(初始条件;判断条件;循环后条件值更新)
{
if(特殊情况)
{break;}
循环代码
}

<script type="text/JavaScript">
    var arr = new Array(10,20,30,40,50);
    for(var i=0;i<arr.length;i++){
        if(arr[i]==30){
            break;
        }
        document.write(arr[i] + "<br>");
    }
</script>

继续循环continue
continue的作用是仅仅跳过本次循环,而整个循环体继续执行。
语句结构:

for(初始条件;判断条件;循环后条件值更新)
{
if(特殊情况)
{ continue; }
循环代码
}

<script type="text/JavaScript">
 var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
 var i;
 for(i=0;i<mynum.length;i++)
 {
    if(mynum[i]<60)
    {
    document.write("成绩不及格,不输出!"+"<br>");
    continue;
    }
    document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");
}
</script>

编程练习

第一步: 把这些数据组成一个数组,方便我们之后操作哦。

提示: 使用二维数组。
第二步: 筛选数据吧,首先找出都是大一的所有信息 ;

第三步: 最后再一次筛选上一步得到的数据,打印出都是女生的姓名 ;

<script type="text/javascript">

 //第一步把之前的数据写成一个数组的形式,定义变量为 infos
 var infos=[['小A','女','21','大一'],['小B','男','23','大三'],['小C','男','24','大四'],['小D','女','21','大一'],
           ['小E','女','22','大二'],['小F','男','21','大一'],['小G','女','22','大二'],['小H','女','20','大三'],
           ['小I','女','20','大一'],['小J','男','20','大三']];//第一步把之前的数据写成一个数组的形式,定义变量为 infos

 //第一次筛选,找出都是大一的信息
 var arr = new Array();//声明一个数组,用来装大一女生的信息
 var n = 0;//声明一个变量,用来作为数组的下标
 for(var i=0;i<infos.length;i++){
    if(infos[i][3] == '大一'){
        document.write(infos[i] + "<br>");//输出所以大一学生
        arr[n] = infos[i];//  => arr[0]=满足条件的大一学生
        n++; //找到第一个满足条件的arr数组元素的时候,n会变成1,然后在返回for循环继续判断
    //最后得到的结果,就是将所有大一学生的信息,封装到二维数组arr中去,
    } 
 }

 //第二次筛选,找出都是女生的信息
 for(var j=0;j<arr.length;j++){
    if(arr[j][1] == "女"){
        document.write(arr[j][0] + "<br>");
    } 
 }

</script>
打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP