遞歸函數:javascript
函數本身調用本身。css
對象定義:html
由屬性和方法組成。java
種類:自定義對象,BOM對象 操做瀏覽器對象的,DOM對象 操做文檔對象模型, 內置對象(String對象,Math對象,Array對象,Function對象,Date對 象,RegEx 正則表達式對象)。正則表達式
對象的定義方法:數組
方法一:使用new關鍵字和Object()構造函數來建立瀏覽器
var obj = new Object(); dom
obj.name = 「周更生」; 函數
方法二:使用{ }來建立一個對象spa
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
定義方法:
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);
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來訪問網頁中的元素
1、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.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位小數點