js基础运用 day3

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>JS语言综合练习</title>
	</head>
	<body>
	 <pre>
	         写一些具有如下功能的函数: 
	         getMax(arr), sortArray(arr), 
	         searchElement(arr,val), binarySearch(arr,val)
	         reverseArray(arr) 数组内容反转
	 </pre>
	  
	  <script type="text/javascript">
	     /////////取最值/////////
	     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 arr=[22,1,56,7,-4,8];
	     //alert("1111");
	     //注意js是大小写敏感的,跟Java一样。而html和css,以及以后学的sql语言都是大小写不敏感。
	     //var maxValue = getmax(arr); //WA: getmax未定义
	     var maxValue = getMax(arr); //WA: getmax未定义
	     alert("maxValue="+maxValue);
	     
	     ////////排序////////
	     function sortArray(arr){
	    	 for(var x=0;x<arr.length-1;x++){
	    		 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+"<br/>");
	     
	     ///////print函数//////////
	     function print(x){
	    	 document.write(x);
	     }
	     function println(x){
	    	 document.write(x+"<br/>");
	     }
	     
	     /////////元素查找////////
	     function searchElement(arr,val){
	    	 for(var x=0; x<arr.length; x++){
	    		 if(arr[x]==val){
	    			 return x; //返回val在数组中的位置
	    		 }
	    	 }
	    	 return -1;
	     }
	     //document.write("7在数组中的位置:"+searchElement(arr, 7) );
	     //document.write("0在数组中的位置:"+searchElement(arr, 0) );
	     println( "7在数组中的位置:"+searchElement(arr, 7) );
	     println( "0在数组中的位置:"+searchElement(arr, 0) );
	     
	     ///////////二分查找///////////
	     function binarySearch(arr,key){
	    	 var right,left,mid;
	    	 left=0;
	    	 right=arr.length-1;
	    	 while(left<=right){ //bug: 必须要有"="号
	    		 mid = (left+right)>>1;
	    		 if(key>arr[mid]){//右半区
	    			 left=mid+1;
	    		 }else if(key<arr[mid]){//左半区
	    			 right=mid-1;
	    		 }else{//找到了
	    			 return mid;
	    		 }
	    	 }	 
	    	 return -1;//未找到
	     }
	     println( binarySearch(arr, 1) );
	     
	     //////////////数组内容反转//////////////
	     arr=[2,3,4,9,7,100,6,-1,0,-3,7];
	     println("反转前:"+arr);
	     function reverseArray(arr){
	    	 for(var start=0,end=arr.length-1; start<end ; start++,end--){
	    		 swap(arr,start,end);
	    	 }
	     }
	     reverseArray(arr);//调用
	     println("反转后:"+arr);
	     
	  </script>
	  
	</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的局部变量与全局变量</title>
</head>
<body>
	<script type="text/javascript">
		//只有在函数中定义的变量才是局部变量,其它的是全局变量
		for ( var x = 0; x < 10; x++) {//这里的x是全局变量,和Java是不一样
			document.write("x=" + x + "<br/>");
		}
		
	</script>

   <hr/>
   
   <script type="text/javascript">
     document.write("x=="+x+"<br/>"); //能够访问到上一脚本片段中的全局变量x
   </script>
   
   
   <script type="text/javascript">
      function aa(){
	    	 var y = 10;
	     }
	     //这里无法访问aa()内部定义的局部变量,所以此处y是没有声明的变量,无法读取。
	     //document.write("y=="+y+"<br/>"); //语法错误
         
          function bb(){
	    	 /*自己声明了局部变量x, 把外面的屏蔽掉了
	    	   ---在函数内部的x都是自己局部声明的这个。
	    	      但是如果出了函数,原来的全局变量又有效了。
	    	   这里的变量x只是碰巧和外部的同名,内部对x的操作和外面没关系,
	    	   而且一出了函数,外部变量x又会显现出来。	    	 
	    	 */
	    	 var x=20; 
	    	 //x=20; //没有重新声明x,则这个x就是外部变量
	     }
	     bb();
	     document.write("xx=="+x+"<br/>");
   </script>


   <script type="text/javascript">
     
   </script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的局部变量与全局变量</title>
</head>
<body>
	<script type="text/javascript">
		//只有在函数中定义的变量才是局部变量,其它的是全局变量
		for ( var x = 0; x < 10; x++) {//这里的x是全局变量,和Java是不一样
			document.write("x=" + x + "<br/>");
		}
		
	</script>

   <hr/>
   
   <script type="text/javascript">
     document.write("x=="+x+"<br/>"); //能够访问到上一脚本片段中的全局变量x
   </script>
   
   
   <script type="text/javascript">
      function aa(){
	    	 var y = 10;
	     }
	     //这里无法访问aa()内部定义的局部变量,所以此处y是没有声明的变量,无法读取。
	     //document.write("y=="+y+"<br/>"); //语法错误
         
          function bb(){
	    	 /*自己声明了局部变量x, 把外面的屏蔽掉了
	    	   ---在函数内部的x都是自己局部声明的这个。
	    	      但是如果出了函数,原来的全局变量又有效了。
	    	   这里的变量x只是碰巧和外部的同名,内部对x的操作和外面没关系,
	    	   而且一出了函数,外部变量x又会显现出来。	    	 
	    	 */
	    	 var x=20; 
	    	 //x=20; //没有重新声明x,则这个x就是外部变量
	     }
	     bb();
	     document.write("xx=="+x+"<br/>");
   </script>


   <script type="text/javascript">
     
   </script>
</body>
</html>

JS中的对象:
        String
        Array
        Boolean
        Date
        Math
        Number
        RegExp
        Global

Object对象是其它JS对象的根

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JS语言中的对象</title>
<script type="text/javascript" src="tools.js"></script>
</head>
<body>
	<pre>
	   JS中的对象:
	    String
	    Array
		Boolean
		Date
		Math
		Number
		RegExp
		Global
	  </pre>

	<script type="text/javascript">
		//Object对象是其它JS对象的根
		var obj = new Object();
		obj.name = "jack";
		obj.age = 20;
		obj.ajewj = 100;
		//alert(obj.name+","+obj.age+","+obj.ajewj);
	</script>

	<script type="text/javascript">
		function aa() {
			alert("abc123....");
		}
		println(aa);
		println(aa.toString()); //和上一句等价,调用Object中的toString()函数

		var arr1 = [ -3, 0, 8, -6, 88, 5, 12 ];
		println(arr1);
		println(arr1.toString()); //和上一句等价,调用Object中的toString()函数
	</script>

	<script type="text/javascript">
		/////////////String对象////////////////
		//1 创建
		var str1 = "abc123";
		var str2 = "okok123";
		var str2 = 'okok123';
		var str3 = new String("hello world cup!");

		//2 成员
		//2.1 属性
		println("len:" + str3.length); //注意,这里的length是属性,而java中的方法

		println(str3.charAt(6));
		var s = str3.replace("world", "asia"); //跟java一样,replace()不是原地修改
		println(str3); //没变
		var s = str3.replace("world", "asia");
		println(s); //变了

		s = "aa,bb,88,abc,66,3.14,ww";
		var ar = s.split(","); //坑: 这里不能用 var ar[] = ....
		println(ar.length);//7
		for ( var i = 0; i < ar.length; i++) {
			print(ar[i] + "&nbsp;");
		}
		println("");

		//截子串
		//substr(start,length);
		//substring(start,stop);

		s = str3.toUpperCase(); //和Java一样,是非原地修改
		println(str3 + "," + s);

		//println( str3.valueOf() );
		//println( str3.toSource() ); //演示失败

		var str1 = "Hello ";
		var str2 = "world!";
		document.write(str1.concat(str2));

		//2.2.2 方法(第二类方法:进行网页功能处理的,这些类似于html中的标签封装)
		println(str3.big().bold());
		println(str3.fontcolor("red"));
		//alert( str3.big().bold() ); //<b><big>hello world cup!</big></b>
		//alert( str3.fontcolor("red") );

		println(str3.link("http://www.baidu.com"));
	</script>
</body>
</html>

tool.js

function print(str){
	document.write(str);
}

function println(str){
	document.write(str+"<br/>");
}



猜你喜欢

转载自blog.csdn.net/lx678111/article/details/81232955
今日推荐