javascript笔记(二)

函数
1 定义函数
如何定义一个函数呢?看看下面的格式:

function  函数名( )
{
     函数体;
}

<script type="text/javascript">
  function add2(){
    sum = 3 + 2;
    alert(sum);
  }
  ?add2();
</script>
2 函数的调用
第一种情况:在<script>标签内调用。
  <script type="text/javascript">
    function add2()
    {
         sum = 1 + 1;
         alert(sum);
    }
  add2();//调用函数,直接写函数名。
</script>
第二种情况:在HTML文件中调用,如通过点击按钮后调用定义好的函数。
<html>
<head>
<script type="text/javascript">
   function add2()
   {
         sum = 5 + 6;
         alert(sum);
   }
</script>
</head>
<body>
<form>
<input type="button" value="click it" onclick="add2()">  //按钮,onclick点击事件,直接写函数名
</form>
</body>
</html>
3 有参数的函数
function 函数名(参数1,参数2)
{
     函数代码
}
注意:参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开。
按照这个格式,函数实现任意两个数的和应该写成:

function add2(x,y)
{
   sum = x + y;
   document.write(sum);
}

4 返回值的函数
function add2(x,y)
{
   sum = x + y;
   return sum; //返回函数值,return后面的值叫做返回值。
}
注意:函数中参数和返回值不只是数字,还可以是字符串等其它类型

事件
1 主要事件表
事件             说明
onclick       鼠标单击事件
onmouseover   鼠标经过事件
onmouseout    鼠标移开事件
onchange      文本框内容改变事件
onselect      文本框内容被选中事件
onfocus       光标聚集
onblur        光标离开
onload        网页导入
onunload      关闭网页
2 鼠标单击事件
<form>
      <input name="button" type="button" value="点击提交" onclick="add2()" />
   </form>
javascript内置对象
1 什么是对象
JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法
2 Date日期对象
var Udate=new Date();
如果要自定义初始值 可以使用以下方法:
var d = new Date(2012, 10, 1);  //2012年10月1日
var d = new Date('Oct 1, 2012'); //2012年10月1日
3 设置年份
get/setFullYear() 返回/设置年份,用四位数表示
var mydate=new Date();//当前时间2014年3月6日
document.write(mydate+"<br>");//输出当前时间
document.write(mydate.getFullYear()+"<br>");//输出当前年份
mydate.setFullYear(81); //设置年份
document.write(mydate+"<br>"); //输出年份被设定为 0081年
4 返回星期方法
getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成,代码如下:
<script type="text/javascript">
  var mydate=new Date();//定义日期对象
  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
//定义数组对象,给每个数组项赋值
  var mynum=mydate.getDay();//返回值存储在变量mynum中
  document.write(mydate.getDay());//输出getDay()获取值
  document.write("今天是:"+ weekday[mynum]);//输出星期几
</script>
5 返回/设置时间方法
get/setTime() 返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。
如果将目前日期对象的时间推迟1小时,代码如下:

<script type="text/javascript">
  var mydate=new Date();
  document.write("当前时间:"+mydate+"<br>");
  mydate.setTime(mydate.getTime() + 60 * 60 * 1000);
  document.write("推迟一小时时间:" + mydate);
</script>
6 String 字符串对象
7 返回指定位置的字符
tringObject.charAt(index)
8 返回指定的字符串首次出现的位置
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
stringObject.indexOf(substring, startpos)
1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。
2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找
3.如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
如果要检索的字符串值没有出现,则该方法返回 -1
9 字符串分割split()
split() 方法将字符串分割为字符串数组,并返回此数组。
stringObject.split(separator,limit)
limit 分割的次数
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
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
10 提取字符串
提取字符串substring()
stringObject.substring(starPos,stopPos)
1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。
2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
<script type="text/javascript">
  var mystr="I love JavaScript";
  document.write(mystr.substring(7));
  document.write(mystr.substring(2,6));
</script>
结果:
JavaScript
love

12 Math对象
Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别。
13 向上取整
Math.ceil(x)它返回的是大于或等于x,并且与x最接近的整数。
<script type="text/javascript">
  document.write(Math.ceil(0.8) + "<br />")  //1
  document.write(Math.ceil(6.3) + "<br />")  //7
  document.write(Math.ceil(5) + "<br />")    //5
  document.write(Math.ceil(3.5) + "<br />")  //4
  document.write(Math.ceil(-5.1) + "<br />")  //-5
  document.write(Math.ceil(-5.9))  //-5
  </script>
14 向下取整
floor() 方法可对一个数进行向下取整。
Math.floor(x)
<script type="text/javascript">
  document.write(Math.floor(0.8)+ "<br>")  //0
  document.write(Math.floor(6.3)+ "<br>")  // 6
  document.write(Math.floor(5)+ "<br>")    //5
  document.write(Math.floor(3.5)+ "<br>")  //3
  document.write(Math.floor(-5.1)+ "<br>")  //-6
  document.write(Math.floor(-5.9))   //-6
</script>
15 round() 方法可把一个数字四舍五入为最接近的整数
Math.round(x)
16 随机数
随机数 random()
Math.random();
返回一个大于或等于 0 但小于 1 的符号为正的数字值
<script type="text/javascript">
  document.write(Math.random()); //0.190305486195328
</script>
17 Array 数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
1. 定义了一个空数组:
var  数组名= new Array();
2. 定义时指定有n个空元素的数组:
var 数组名 =new Array(n);
3.定义数组的时候,直接初始化数据:
var  数组名 = [<元素1>, <元素2>, <元素3>...];
我们定义myArray数组,并赋值,代码如下:
var myArray = [2, 8, 6];
说明:定义了一个数组 myArray,里边的元素是:myArray[0] = 2; myArray[1] = 8; myArray[2] = 6。
数组元素使用:
数组名[下标] = 值;
数组属性:
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
18 数组连接
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组
<script type="text/javascript">
  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,!
</script>
19 指定分隔符连接数组元素join()
arrayObject.join(分隔符)
返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容
<script type="text/javascript">
    var myarr1= new Array("86","010")
    var myarr2= new Array("84697581");
   var myarr3= myarr1.concat(myarr2);
   document.write(myarr3.join()); //86,010,84697581
</script>

<script type="text/javascript">
  var myarr = new Array(3);
  myarr[0] = "I";
  myarr[1] = "love";
  myarr[2] = "JavaScript";
  document.write(myarr.join());  //I,love,JavaScript
</script>
20 颠倒数组元素顺序reverse()
reverse() 方法用于颠倒数组中元素的顺序
arrayObject.reverse()
该方法会改变原来的数组,而不会创建新的数组
<script type="text/javascript">
  var myarr = new Array(3)
  myarr[0] = "1"
  myarr[1] = "2"
  myarr[2] = "3"
  document.write(myarr + "<br />")  //1,2,3
  document.write(myarr.reverse()) //3,2,1
</script>
21 选定元素slice()
slice() 方法可从已有的数组中返回选定的元素
arrayObject.slice(start,end)
1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
2. 该方法并不会修改数组,而是返回一个子数组。
1. 可使用负值从数组的尾部选取元素。
2.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
3. String.slice() 与 Array.slice() 相似。
<script type="text/javascript">
  var myarr = new Array(1,2,3,4,5,6);
  document.write(myarr + "<br>");
  document.write(myarr.slice(2,4) + "<br>"); //3,4
  document.write(myarr);
</script>
22 sort()方法使数组中的元素按照一定的顺序排列。
arrayObject.sort(方法函数)
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
myArray.sort(sortMethod);
<script type="text/javascript">
  function sortNum(a,b) {
  return a - b;
 //升序,如降序,把“a - b”该成“b - a”
}
 var myarr = new Array("80","16","50","6","100","1");
  document.write(myarr + "<br>");
  document.write(myarr.sort(sortNum)); //1,6,16,50,80,100
</script>

相关推荐