递归函数:

  函数自己调用自己。

对象定义:

  由属性和方法组成。

  种类:自定义对象,BOM对象 操作浏览器对象的,DOM对象 操作文档对象模型, 内置对象(String对象,Math对象,Array对象,Function对象,Date对           象,RegEx      正则表达式对象)。

对象的定义方法:

方法一:使用new关键字和Object()构造函数来创建

  var obj = new Object(); 

  obj.name = “周更生”; 

方法二:使用{ }来创建一个对象

  var obj = {

                     name:“周更生”,

                     school:“北京理工大学”,

        showInfo:getInfo

  };

  function getInfo()

  {

         var str = obj.name+“的毕业于”+obj.school

         document.write( str );

  }

  调用对象的方法

  obj.showInfo();  

  对象的方法只能是普通函数,不能是匿名函数,否则会报错。

split(分割符)方法

功能:将一个字符串,用指定的分割符分成一个数组。

      语法:strObj.split(分割符)  

  数组也是对象,

  例如:

  str="5_6_7_8";

  var arr=str.split("_");

  document.write(arr); //5,6,7,8

  document.write(typeof(arr));//object

数组元素拼接为字符串join()方法

功能:将数组中各个元素,通过指定的连接符,连成一个字符串。

      语法:arrObj.join(连接符)

  var arr=[10,20,30,40];

  str=arr.join("_");

  document.write(str); //10_20_30_40

  document.write(typeof(str)); //string

反转数组元素的顺序reverse()

  var arr=[10,20,30,40];

  arr.reverse(arr);

  document.write(arr); //10_20_30_40

Date对象

定义方法:

  var today = new Date();

Date对象常用的方法:

  getFullYear():取得四位的年份,比如:2000

  getMonth():取得当前的月份,取值0-11 //var month = today.getMonth()+1;

  getDate():取得今天是几号,取值1-31

  getHours():取得小时数

  getMinutes():取得分钟数

  getSeconds():取得秒数

  getMilliSeconds:取得毫秒数

  getTime():取得1970年1月1日到现在的毫秒数

  toLocaleString():用本地字符串来显示日期时间信息

  toLocaleDateString:用本地字符串来显示日期信息

实例:动态时钟

<script type="text/javascript">

function showTime()

{

      var today = new Date();

       //分别取出年、月、日、时、分、秒

       var year = today.getFullYear();

       var month = today.getMonth()+1;

       var day = today.getDate();

       var hours = today.getHours();

       var minutes = today.getMinutes();

       var seconds = today.getSeconds();

       //如果是单个数,则前面补0

       month    = month<10   ? "0"+month : month;

       day        = day  <10   ? "0"+day : day;

       hours      = hours<10    ? "0"+hours : hours;

       minutes   = minutes<10 ? "0"+minutes : minutes;

       seconds = seconds<10 ? "0"+seconds : seconds;

       //构建要输出的字符串

       var str = year+"年"+month+"月"+day+"日 "+hours+":"+minutes+":"+seconds;

       //获取id=result的对象

       var obj = document.getElementById("result");

       //将str的内容写入到id=result的<div>中去

       obj.innerHTML = str;

       //延时器

       window.setTimeout("showTime()",1000);

}

</script>

<style type="text/css">

#result{

       width:500px;

       border:1px solid #CCCCCC;

       background:#FFFFCC;

       margin:50px auto;

       font-size:24px;

       color:#FF0000;

       padding:20px;

}

</style>

</head>

 

<body onload="showTime()">

<div id="result"></div>

</body>

</html>

延时器setTimeout()方法

       Window对象的setTimeout()方法,是一个延时器,换句话说:时间长了,执行一次JS代码。

       语法:window.setTimeout(code,milliSec)

       参数:code是任何JS代码,milliSec指定的毫秒数或者延迟时间

  

  代码如下:

<script type="text/javascript">

var timer;
var i=0;
function start(){
var obj=document.getElementById("result");
var str="该程序已经运行了"+i+"秒";
i++;
obj.value=str;//给表单元素添加内容,一般用value,除表单外的其他标记用JS写内容,使用innerHTML
//设置延时器
timer=window.setTimeout("start()",1000);
}
//定义函数,停止计时
function stop () {
window.clearTimeout(timer);
}
</script>
</head>
<body>
<input type="button" id="result" value="该程序已经运行了0秒!" />
<br />
<input type="button" onclick="start()" value="开始" />
<input type="button" onclick="stop()" value="结束" />
</body>

  千万注意:setTimeout()方法只执行一次,不会重复执行。除非在函数内再次调用自己(递归调用),可以实现重复执行。

clearTimeout()清除由setTimeout()设置的延时器

  window.clearTimeout(timer);

定时器setInterval()方法和clearInterval()方法   是个死循环

var timer = window.setInterval(code,milliSec)

setInterval()方法是一个真正的周期执行的定时器,而setTimeout()只执行一次。

举例:图片轮播

<script type="text/javascript">

var j=1;
function img () {
j++; //第一次因为已经有一张图片显示了,所以第一遍应该从2开始,第二遍循环应该从1开始
var obj=document.getElementById("img0");
var str="images/"+j+".jpg";
obj.src=str;
if(j>=6){
j=0;
}
}
function start () {
window.setInterval("img()",1000);
}
</script>

</head>

<body>

<img id="img0" width="300" height="300" src="images/1.jpg" />

</body>

通过DOM来访问网页中的元素

一、JS中用document.getElementById(id)来访问指定ID的网页元素

  举例:<div id=”result”></div>

     <script type="text/javascript">
         var obj = document.getElementById(“result”);
       </script>

二 、使用DOM如何将内容写入到指定的id对象中去  (innerHTML是属性,而不是方法)

  obj.innerHTML = str;    //将str的字符串,写入到id=result的对象中去。

Math对象

Math方法:

  Math.abs(),取绝对值

  Math.ceil(),向上取整  例如:Math.ceil(4.3) = 5 ,Math.ceil(4.9)=5

  Math.floor(),向下取整 例如: Math.floor(4.4)=4,Math.floor(4.9)=4

  Math.round(),四舍五入

  Math.sqrt(),求平方根

  Math.random(),返回0-1之间的随机小数。0<=X<1

求max-min之间的随机数

  Math.floor(Math.random()*(max-min)+min);

sum.toFixed(n);  保留n位小数点