第一節 複習
1.函數
函數的定義:
function函數名(形式參數1,形式參數2,。。。。。。){//函數體 return}
參數:參數的形式必須一一對應,而且,在定義的時候那個形式參數(變量名),調用函數的時候(實際參數),必須是值
Return:1)終止函數,2)返回值
Firebug:查看函數的運行
2.函數的作用域
作用域:1)全局變量(任何位置),2)局部變量(函數內部)
函數調用:函數名(實際參數1,實際參數2.。。。。。);var 變量名=函數名();
函數名命名:1)不能和系統內部關鍵字相同,2)函數名有意義
系統內部函數:parseInt,parseFloat,isNaN,isFinite,NaN
3.遞歸
遞歸:函數調用函數本身,注意讓函數有條件
函數出現的位置:出現在任意位置
4.數組
格式:var arr=[12,34,45];
下標:下標從0開始,數字個數-1
補充知識點:
If(){//語句塊
Document.write();
Document.write();
Document.write();
I++;++I;
Sum+=I;
}
For(){
//循環體
Document.write();
Document.write();
Document.write();
I++;++I;
Sum+=I;
}
For(){}=》break(continue//跳出);
Break:跳出循環不再執行
For(){
For(){//break}
}
Continue:跳出當前次循環
For(var i=0;i<=9;i++){
if(i%2==0){
continue;
}else{
Document.write(i);
}
}
數組:
若干數據的集合
語法:
var arr=[1,2,3];
vararr=new Array(1,2,3);
數組擴展:
Var arr1=[23,12,56];
Var arr2=[45,23,22];
Var arr3=[34,34,99];
Vararr=[arr1,arr2,arr3];
Arr=[
[23,12,56],
[45,23,22],
[34,24,99]
]
4.作業講解
第二節 二維數組
二維數組:數組內部數據爲數組
23[0][0] |
12[0][1] |
56[0][2] |
45[1][0] |
23[1][1] |
22[1][2] |
34[2][0] |
34[2][1] |
99[2][2] |
Varnum1=arr[0][0];
Varnum2=arr[2][1];
Varnum3=arr[2][2];
案例求二維數組的和:
/求數組中所有項的和
var arr=[
[23,45,23,45,23],
[45,35,67,4355,23],
[34,56,2322,56569,234]
];
//var arr=[23,23,43,435,236];
var sum=0;
for(var i=0;i<arr.length;i++){//i是外面數組的下標
for(var j=0;j<arr[i].length;j++){//j是裏面數組的下標
sum=sum+arr[i][j];
}
}
document.write("二維數組的和爲:"+sum);
二維數組練習
求最大值和下標 |
var arr=[ |
[34,45,3,23], |
[43,34,435,34324], |
[334,54,34,999], |
[45,34,56,234,54,6456,324,324,546,235,234], |
[224,456,546,234,32,34,234,324,234], |
[24,56,324,234,546,45,324] |
]; |
var max=arr[0][0]; |
var xiabiao1=0; |
var xiabiao2=0; |
for(var i=0;i<arr.length;i++){//循環外面的數組 |
for(var j=0;j<arr[i].length;j++){//循環裏面的數組 |
if(max<arr[i][j]){//做比較找最大值 |
max=arr[i][j];//把大的值賦值給max |
xiabiao1=i;//找到下標 |
xiabiao2=j;//找到下標 |
} |
} |
} |
document.write("最大值爲:"+max+"下標爲:"+xiabiao1+","+xiabiao2); |
第三節 數組方法
數組排序:
把數據有序的排列起來
Vararr=[23,435,456,67,65];
選擇排序:在數組中找出最大值,放到數組最後一個元素,把最後位置原數據放到最大值的位置(交換)(假如從小到大排序)
元數組 |
23 |
435 |
456 |
67 |
65 |
第一次 |
23 |
435 |
65 |
67 |
456 |
第二次 |
23 |
67 |
65 |
435 |
456 |
第三次 |
23 |
65 |
67 |
435 |
456 |
第四次 |
23 |
65 |
67 |
435 |
456 |
Arr[4]65和arr[2]456
Vartemp=arr[4];
Arr[4]=arr[2]
Arr[2]= Temp
數組方法:
vararr=[324,435,23];
vararr1=[1,2,3];
vararr2=[4,5,6];
arr.concat(數據);把數據連接起來
arr.join(“字符”);得到的是字符串,以字符連接數組數據得到的
arr.pop();刪除數組最後一項並且返回
arr.reverse();把數組的順序翻轉
第四節 字符串對象
字符串方法:
Varstr=”abcdefgab”;//簡寫形式
Varstr=new String(”abcdefgab”);//標準形式
Varstr=” abcdefgab”;
Str.indexOf(“字符”);可以獲得這個“字符“的第一個下標
如果字符串中找不到要找的字符,那麼返回的就是-1
Str.lastIndexOf(“字符”); 以獲得這個“字符“的最後出現下標
Str.toUpperCase:轉換爲大寫形式
Str.toLowerCase:轉換爲小寫形式
CharCodeAt(數);獲得制定位置的Unicode編碼
記住:小寫a=97,大寫A=65;
charAt(數);獲得這個數的位置的字符
substr(數字1,數字2)//截取字符串,如果只有一個數字,從數字開始截取到最後,如果有
兩個數字,從數字1截取數字2個
Substring(數字1,數字2);//如果只有一個數字截取到最後,如果有兩個,就是從數字1開始到數字2之前,但是不會包含數字2,如果數字1和數字2從小到大或者從大到小放的位置不同,那麼默認的從最小的數開始找
varstr="abcdefabc";
var n1=str.indexOf("cdef");
var n2=str.lastIndexOf("bc");
var n3=str.toUpperCase();
var n4=str.toLowerCase();
var n5=str.charCodeAt(2);
var n6=str.charAt(3);
var n7=str.substr(3,3);
var n8=str.substring(3,7);
document.write(n8);*/
//basdjkj.png
function check(){
//獲得字符串的後綴
//加入允許上傳的文件類型[jpg,png,gif]
varzhaopian=document.getElementById("wenjian").value;//zhaopian="bomdom.jpg";
var n=zhaopian.lastIndexOf(".");
var houzhui=zhaopian.substr(n+1);
houzhui=houzhui.toLowerCase();
if(houzhui=="jpg"||houzhui=="png"||houzhui=="gif"){
alert("您可以上傳啦");
}else{
alert("照片太醜重新上傳哦");
}
}
案例:
限制用戶上傳文件類型
Varstr=Document.getElementById(“id名”);通過id獲得某個標籤
str.value;獲得str的value值
識別方法和屬性:
屬性:對象.屬性名;
方法:對象.方法名();
第五節 Math對象:
Math.pow(n1,n2);求n1的n2次方
Math.abs(n);求n的絕對值
Math.round(n);求n的四捨五入的值
Math.max(n1,n2。。。);可以放好多個參數,求這些參數的最大值
Math.min();求最小值
Math.floor(n);向下取整,不大於n的最大的整數
Math.floor(3.1);
Math.floor(3.9);
Math.floor(3.5);
Math.floor(3.6);
Math.floor(3.2);
Math.ceil(n);向上取整,不小於n的最小的整數
Math.ceil(3.4);
Math.ceil(3.9);
Math.ceil(5.2);
Math.ceil(6.4);
Math.ceil(9.4);
Math.random();獲得0和1之間隨機數,注意:能包含0不包含1
案例:
1)找到0到10之間的隨機數Math.random()*10=>得到0到10之間的隨機數
找到0到20之間的隨機數Math.random()*20=>得到了0到20之間的隨機數
找到0到60之間的隨機數Math.random()*60=>得到了0到20之間的隨機數
找到6個10到30的隨即數字=》(0到20)+10
找到6個20到60的隨即數字=》(0到40)+20
找到6個30到90的隨即數字=》(0到60)+30
Math.floor(Math.random()*(大數-小數+1))+小數;
第一步:得到0到1之間的數字(取不到1)
第二步:得到求0到任意數字間的隨機數Math.random()*n
第三部:Math.random()*大數-小數
第四部:乘以任意的數字,得到的最大值向下取整後是這個數字-1
第五步:乘以任意數字+1,就能得到最大值向下取整後得到這個數字
第六步;Math.floor(Math.random()*(大的-小的+1))+小數
特殊字符:
“,’,\,\r,換行\n回車,\t,tab符號
第六節 時間日期對象:
Vard1=new Date();//創建當前時間
Vard2=new Date(“2015/11/15 17:29:36”)//創建指定;
Vard3=new Date(2015,11,15,17,29,39);//創建制定時間(月份數字是0到11之間)
Vard4=new Date(13345478456745);//毫秒數時間
D1.toLocaleString();
varyear=d1.getFullYear();//獲得年份
varmonth=d1.getMonth();//獲得月份
vardate=d1.getDate();//獲得日期
varday=d1.getDay();//獲得星期
varhours=d1.getHours();//獲得消失
varminute=d1.getMinutes();//獲得分鐘數
varsecond=d1.getSecond();//獲得秒數
varmillisecond=d1.getMilliseconds();//獲得毫秒數(0到999)
vartimeshijian=d1.getTime();
設置時間:
D1.setFullYear(n);
D1.setMonth(n);
D1.setDate(n);
D1.setDay(n);
D1.setHours(n);
D1.setMinutes();
D1.setSeconds();
D1.setMilliSeconds()