JS繼續學習中。。。。。。
//-------------------------------------------------------------------------------------------------------------------------------------//
JS中數組:用於存儲更多的數據,是一個容器.
特點:1,長度是可變的。2,元素的類型是可變的。
JavaScript數組的定義有兩種方式:
第一種:
var arr=[], var arr = [1,2,3,4];
第二種:
var arr1 = new Array();//定義數組長度爲5.
var arr2 = new Array(5,6,7);//定義一個數組,元素是5,6,7
var arr = [12,23,34,31,32];
//alert(typeof(arr));//對象類型Object
//alert("len的長度爲:"+arr.length); //len的長度爲:5
//遍歷數組:
for(var i=0;i<arr.length;i++){
document.write("arr["+i+"]="+arr[i]+"<br/>");
}
JS函數:功能的封裝體,兩個明確(明確功能的封裝體,明確實現參與運算的位置的內容)
函數定義格式:通過指定的關鍵字倆定義。
函數定義的格式如下:
function 函數名(參數列表){
函數體:
return 返回值; //如果沒有具體的返回值,return語句可以省略.
}
例1(體驗):
function method(){
alert("methode run ......");
return; //return可以省略
}
method(); //調用函數.
//輸出的結果爲 method rum......
例子2(體驗):
function method2(){
var a=10,b=20;
var c=a+b;
alert("c="+c);
eturn c;
}
method2();
//輸出的結果爲:c=30
匿名函數:指的是沒有名字的(函數的一種簡寫格式).
var sum = function(a,b){
return a+b;
}
alert(sum(10,20));//輸出的結果爲:30
JavaScript函數中的一些細節問題處理:
function getSum(){
sum1 = 100;
sum2 = 200;
sum = sum1+sum2;
eturn sum;
}
var sum = getSum();//getSum運行,並將返回結果賦值個sum
//var sum = getSum;//指向對象,打印的是函數字符串類型
alert("sum="+sum);
JavaScript函數練習:
(練習一):
<script type="text/javascript">
/**
練習一:獲取數組的最大值
*/
var arr = [11,2,4,21,34,23,56,89,121,67];//定義數組元素
//定義函數體
function getMax(arr){
var max = 0;
//循環遍歷
for(var i=1;i<arr.length;i++){
//判斷
if(arr[i]>arr[max]){
max = i;
}
}
return arr[max];
}
var maxValue = getMax(arr);//定義一個變量指向函數體
document.write("maxValue ="+maxValue);
</script>
//輸出結果爲maxValue =121
(練習二):/**
對數組元素進行排序
*/
var arr = [11,2,4,21,34,23,56,89,121,67];//定義數組元素
//對數組進行排序
function sortArray(arr){
for(var x=0;x<arr.length-1;x++){//arr.length-1是爲了避免數組角標越界
for(var y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//定義函數對數組中的元素位置互換
function swap(arr,x,y){
var temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
document.write("排序前:"+arr+"<br/>");//排序前
sortArray(arr);
document.write("排序後:"+arr);
//排序後:
/**
輸出結果爲:
排序前:11,2,4,21,34,23,56,89,121,67
排序後:2,4,11,21,23,34,56,67,89,121
*/
練習三
<script type="text/javascript">
/*對數組進行查找,(拆半查找的前提是:數組必須是有序的)
*/
var arr = [1,2,4,5,8,90,32,3,32,44];//定義數組元素
function searchElement(arr,key){
for(var x=0;x<arr.length;x++){
if(arr[x]==key)
return x;
}
return -1;
}
sum = searchElement(arr,90);
document.write(sum);
//拆半查找(拆半查找的前提是:數組必須是有序的)
function binarySearch(arr,key){
var max,min,mid;
min = 0;
max = arr.length-1;
while (min<=max){
mid = (max+min)>>1;
if(key>arr[mid])
min = mid+1;
else if(key<arr[mid])
max = mid-1;
else
return mid;
}
return -1;
}
sum = binarySearch(arr,90);
document.write(sum);
</script>
輸出結果爲:5,5