js进阶篇之数组-流程控制语句-事件-对象(慕课网学习笔记3-7章)

第三章数组

一、创建数组语法:

var myarray=new Array();

var myarray= new Array(8); //创建数组,存储8个数据。

注意:

1.创建的新数组是空数组,没有值,如输出,则显示undefined。

二、数组赋值

var myarray=new Array(); ()里面是数组的长度

myarray[0]=66;

myarray[1]=80; 

myarray[2]=90;

方法一:var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

方法二:var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)

三、数组属性length

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

<pre name="code" class="html">var arr=[98,76,54,56,76]; // 包含5个数值的数组
document.write(arr.length); //显示数组的长度5
arr[15]=34; //增加元素,使用索引为15,赋值为34
alert(arr.length); //显示数组的长度16

 
四、二维数组 

一维数组的表示: myarray[ ] 

二维数组的表示: myarray[ ][ ] 

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, ]]

3. 赋值

 myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。

 说明: myarr[0][1] ,0 表示表的行,1表示表的列。

 

第四章流程控制语句

一、做判断(if语句)

语法:

if(条件)

{ 条件成立时执行代码}

二、二选一(if...else语句)

语法:

if(条件)

{ 条件成立时执行的代码}

else

{条件不成立时执行的代码}

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

语法:

if(条件1)

{ 条件1成立时执行的代码}

else if(条件2)

{ 条件2成立时执行的代码}

...

else if(条件n)

{ 条件n成立时执行的代码}

else

{ 条件1、2至n不成立时执行的代码}

四、多种选择(Switch语句)

语法:

switch(表达式)

{

case值1:

  执行代码块 1

 break;

case值2:

  执行代码块 2

 break;

...

case值n:

  执行代码块 n

 break;

default:

  与 case值1 、 case值2...case值n 不同时执行的代码

}

 

五、重复重复(for循环)

for(初始化变量;循环条件;循环迭代)

{     循环语句 }

例:

var num=1;

for (num=1;num<=6;num++)  //初始化值;循环条件;循环后条件值更新

{  document.write("取出第"+num+"个球<br />");

}

六、反反复复(while循环)

while语句结构:

while(判断条件)

{ 循环语句 }

例:

var num=0; //初始化值

while (num<=6)   //条件判断

{

 document.write("取出第"+num+"个球<br />");

 num=num+1;  //条件值更新

}

 

七、来来回回(Do...while循环)

语句结构:

do

{循环语句}

while(判断条件)

例:

num= 1;

   do

   {

    document.write("数值为:" +  num+"<br/>");

    num++; //更新条件

   }

  while (num<=5)

八、退出循环break

格式如下:

 for(初始条件;判断条件;循环后条件值更新)

{

 if(特殊情况)

 {break;}

  循环代码

}

九、继续循环continue

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

语句结构:

 for(初始条件;判断条件;循环后条件值更新)

{

  if(特殊情况)

  {continue; }

 循环代码

}

第六章事件响应主要事件表:<br>

 一、onclick:"鼠标单击事件";<br>

onmouseover:"鼠标经过事件";<br>

onmouseout:"鼠标移开事件";<br>

onchange:"文本框内容改变事件";<br>

onselect:"文本框内容被选中事件";<br>

onfocus:"光标聚焦";<br>

onblur:"光标离开";<br>

onload:"网页导入";<br>   注意:1.事件会在页面加载完成后,立即发生,同时执行被调用的程序。

                                                    2. 加载页面时,触发onload事件,事件写在<body>标签内。

onunload:"关闭网页"。<br>

第七章对象

一、对象

javascript中的所有事物都是对象,如:字符串,数值,数组,函数等,每个对象都有属性和方法.

(1) 对象的属性: 反映该对象某些特定的性质.如:字符串的长度,图像的长宽等;

访问对象属性的语法: ObjectName.propertypeName

 (2) 对象的方法: 能够在对象上执行的动作,如:表单的提交方法,时间的获取(getYear)等.

访问对象的方法:objectName.methodName();

 

二、返回/设置年份方法

get/setFullYear()返回/设置年份,用四位数表示。

例:var mydate=new Date(); //当前时间Tue Aug 30 201617:07:14 GMT+0800 (中国标准时间)

document.write(mydate+"<br>");//输出当前时间

document.write(mydate.getFullYear+"<br>")//输出当前年份

mydate.setFullYear(81); //设置年份

document.write(mydate+"<br>");//输出年份被设定为0081年。

注意:不同浏览器,mydate.setFullYear(81)结果不同,年份设定为0081或81两种情况。

 

三、返回星期方法

getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成

 

四、返回/设置时间方法

get/setTime() 返回/设置时间,单位毫秒数

例:

var mydate=new Date();

 document.write("当前时间:"+mydate+"<br>");

 mydate.setTime(mydate.getTime() + 60 * 60 * 1000);

 document.write("推迟一小时时间:" + mydate);

 

五、sring字符串对象

例:var myarray=new Array(6);//定义数组对象

var myl=myarray.length;//访问数组长度length属性

 

例:var mystr="Hello world!";//创建一个字符串

var request=mystr.toUpperCase(); //使用字符串对象方法,转换为大写(小写toLowerCase)

 

六、返回指定位置的字符

语法:

 stringObject.charAt(index)

注意:

1.一个空格也算一个字符;

2.字符串的第一个下标是从0开始,最后一个字符的下边是string.length-1;(所以上面括号里的!的下标是10)

3.如果参数index不在0与string.length-1之间,该方法将返回一个空字符串。

 

七、返回指定的字符串首次出现的位置

语法

 stringObject.indexOf(substring, startpos)

例:var str="I love JavaScript!"

 document.write(str.indexOf("I") + "<br />");

 document.write(str.indexOf("v") + "<br />");

 document.write(str.indexOf("v",8));

以上代码的输出:

0       4           9

八、字符串分割split()

split() 方法将字符串分割为字符串数组,并返回此数组

语法:

stringObject.split(separator,limit)

例:

var mystr = "www.imooc.com";

document.write(mystr.split(".")+"<br>");

document.write(mystr.split(".",2)+"<br>");

运行结果:

www,imooc,com

www,imooc

 

例:分割为字符:

document.write(mystr.split("")+"<br>");

document.write(mystr.split("",5));

运行结果:

w,w,w,.,i,m,o,o,c,.,c,o,m

w,w,w,.,i

 

九、提取字符串substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:

stringObject.substring(starPos,stopPos)

例:

var mystr="I love JavaScript";

 document.write(mystr.substring(7));

 document.write(mystr.substring(2,6));

运行结果:

JavaScript

love

注意:

 1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为stop 减start。

 2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

 3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

十、提取指定数目的字符substr()

substr() 方法从字符串中提取从startPos位置开始的指定数目的字符串。

语法:

stringObject.substr(startPos,length)

例:

var mystr="I love JavaScript!";

 document.write(mystr.substr(7));

 document.write(mystr.substr(2,4));

</script>

运行结果:

JavaScript!

love

注意:如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

如果startPos为负数且绝对值大于字符串长度,startPos为0。

 

十一、Math对象

十二、向上取整ceil()

ceil() 方法可对一个数进行向上取整。

语法:

Math.ceil(x)

例:

 document.write(Math.ceil(0.8) + "<br />")

 document.write(Math.ceil(5) + "<br />")

 document.write(Math.ceil(-5.9))

运行结果:

1        5    -6

十三、向下取整floor()

floor() 方法可对一个数进行向下取整。

语法:

Math.floor(x)

十四、四舍五入round()

例:

 document.write(Math.round(1.6)+ "<br>");

 document.write(Math.round(2.5)+ "<br>");

 document.write(Math.round(-6.5)+ "<br>");

 document.write(Math.round(-6.6));

</script>

运行结果:

2    3    -6    -7

注意:四舍六入五变大

十五、随机数 random()random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。语法:Math.random();例:document.write(Math.random())//注意:返回一个大于或等于 0 但小于 1 的符号为正的数字值。运行结果:0.190305486195328

获得0 ~ 10之间的随机数,代码如下:

document.write((Math.random())*10);

十六、Array 数组对象

数组属性:length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。数组方法:

十七、数组连接concat()concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。语法arrayObject.concat(array1,array2,...,arrayN)

例:

var mya1= new Array("hello!") var mya2= new Array("I","love"); var mya3= new Array("JavaScript","!"); var mya4=mya1.concat(mya2,mya3); document.write(mya4);

运行结果:hello!,I,love,JavaScript,!

十八、指定分隔符连接数组元素join()语法:arrayObject.join(分隔符)

例:

var myarr = new Array(3) myarr[0] = "I"; myarr[1] = "love"; myarr[2] = "JavaScript"; document.write(myarr.join("."));运行结果:I.love.JavaScript

十九、颠倒数组元素顺序reverse()语法:arrayObject.reverse()

<span style="font-size:12px;"> var myarr = new Array(3)
  myarr[0] = "1"
  myarr[1] = "2"
  myarr[2] = "3"
  document.write(myarr + "<br />")
  document.write(myarr.reverse())
运行结果:
1,2,3
3,2,1</span>

二十、选定元素slice()
slice() 方法可从已有的数组中返回选定的元素。
语法
arrayObject.slice(start,end)

例:

<span style="font-size:12px;">var myarr1= ["我","很","爱","你"];
   document.write(myarr1.slice(1,3));
结果:很,爱</span>
二十一、数组排序sort()
sort()方法使数组中的元素按照一定的顺序排列。
语法:

arrayObject.sort(方法函数)

<span style="font-size:12px;">1.使用sort()将数组进行排序,代码如下:
  var myarr2 = new Array("80","16","50","6","100","1");
  document.write(myarr2.sort());
运行结果:
1,100,16,50,6,80</span>
<span style="font-size:12px;">注意:上面的代码没有按照数值的大小对数字进行排序。
2.如要实现这一点,就必须使用一个排序函数,代码如下:
  function sortNum(a,b) {
  return a - b;
 //升序,如降序,把“a - b”该成“b - a”
}
 var myarr = new Array("80","16","50","6","100","1");
  document.write(myarr.sort(sortNum));
</script>
运行结果:
1,6,16,50,80,100</span>

编程练习

任务

第一步:可通过javascript的日期对象来得到当前的日期。

提示:使用Date()日期对象,注意星期返回值为0-6,所以要转成文字"星期X"

第二步:一长窜的字符串不好弄,找规律后分割放到数组里更好操作哦。

第三步:分割字符串得到分数,然后求和取整。

提示:parseInt() 字符串类型转成整型。

<script type="text/javascript">
   var currentDate = new Date();
  var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
  document.write(
      currentDate.getFullYear() + "年" + 
      (currentDate.getMonth() + 1) + "月" + 
      currentDate.getDate() + "日" + " " + 
      weekday[currentDate.getDay()]
      );
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var sorceStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var sourceArr = sorceStr.split(";");
  //document.write(sourceArr);//test
   //从数组中将成绩撮出来,然后求和取整,并输出。
   var score = new Array();
   var sum = 0;
   for (var i = 0; i < sourceArr.length; i ++) {
       sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));  // sum = sum + parseInt(scoreArr[i].slice(3,5));
       //document.write("<br>" + sum);//test
   }
   document.write("--班级总分为:" + sum);
   document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))

</script>




<span style="font-size:12px;"></span>





 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值