JavaScript學習【持續更新】

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

發佈了75 篇原創文章 · 獲贊 9 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章