关闭

JavaScript(3)函数、对象

标签: JavaScript网页编程
145人阅读 评论(0) 收藏 举报
分类:

1.再次对JS的函数数组进行复习加强。

利用函数对数组进行求最值,输出封装,数组元素排序、查找和数组反转。

<span style="font-family:Times New Roman;font-size:14px;"><!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>
	<h2>JS语言(函数和数组)综合练习</h2>
	<script type="text/javascript">
	   //1 取最值
	   function getMax(arr){
	      var max=arr[0];
	      for(var i=1; i<arr.length; i++){
	        if(max<arr[i]){
	           max = arr[i];
	        }
	      }
	      return max;
	   }
	   var arr=[23,45,-4,-78,0,8];
	   var maxValue= getMax( arr );
	  // alert(maxValue);
	   
	  //2 输出封装
	  function print(str){
	     document.write(str);
	  }
	  function println(str){
	     document.write(str+"<br/>");
	  }
	  
	  print(arr);
	  print("<hr/>");
	  println(arr);
	  
	  //3 排序
	  function sortArray( arr ){
	     for(var i=0;i<arr.length-1;i++){
	       for(var j=i+1;j<arr.length;j++){
	         if(arr[i]>arr[j]){
	            swap(arr,i,j);
	         }
	       }
	     }
	  }
	  function swap(arr,i,j){
	     var temp = arr[i];
	     arr[i] = arr[j];
	     arr[j] = temp;
	  }
	  sortArray(arr);
	  println("排序后:"+arr);//排序后
	   
	  //4 元素查找
	  function searchElement(arr, key){
	     for(var i=0; i<arr.length;i++){
	       if(arr[i]==key){
	          return i;
	       }
	     }
	     return -1;
	  }
	  println( searchElement(arr,100) );
	  
	  //5 二分查找
	  function binarySearch(arr, key){
	     var min,max,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;
	  }
	  println("二分查找结果: "+ binarySearch(arr,8) );
	  
	  //6 数组反转(元素顺序反转)--原地修改
	  function reverse(arr){
	    for(var start=0,end=arr.length-1; start<end; start++,end--){
	      swap(arr,start,end);
	    }
	    return arr;
	  }
	   println("反转之后:" + reverse(arr) );
	   var arr2=[3,4,7,23,5,-3,89,5,-3,45,0,4,34];
	   println("初始:" + arr2 );
	   println("反转之后:" + reverse(arr2) );
	   sortArray(arr2);
	   println("排序后:"+arr2);//排序后
	   println("反转之后:" + reverse(arr2) );
	   //println("二分查找结果: "+ binarySearch(arr2,5) );//key应该唯一
	   
	   
	</script>
</body>
</html></span>

2.全局变量和局部变量

<span style="font-family:Times New Roman;font-size:14px;"><!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>全局变量和局部变量</title>
</head>
<body>
	<h2>全局变量和局部变量</h2>
	<pre>
	   全局变量: js中变量的作用域不是以“大括号”来区分的,并且写在多个脚本代码段中的语句,和写在同一个脚本段中是一样的。
	   局部变量: js中变量的作用域是以“函数”来区分的,在函数内部声明的变量属于局部变量,在外面不能访问。
	 在函数内部是可以访问外部的全局变量的,但如果在内部定义了同名的变量,则会屏蔽掉外面的!
	</pre>
	<script type="text/javascript">
	  for(var x=0; x<10; x++){
		  document.write("<br/>x="+x);
	  }
	  document.write("<br/>循环外面: x="+x);//x=10
	</script>
	
	<script type="text/javascript">
	  document.write("<br/>另一段脚本: x="+x);//x=10
	</script>
	
	<script type="text/javascript">
	   var y;
	   function show1(){
		  y = 100;//可以访问外面的全局变量,赋值之后,外面可以访问到
	   }
	   show1();
	   document.write("<br/>y=" + y);//100
	   
	   var z;
	   function show2(){
		   var z=100;//在函数内部定义一个和外面同名的变量,则把外面的屏蔽掉了
	   }
	   document.write("<br/>z=" + z);//undefined
	
	</script>
	
	    
</body>
</html>
</span>

3.JS中的对象

JS提供的内置对象:string,Object,Date

<span style="font-family:Times New Roman;font-size:14px;"><!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="out.js"></script>
</head>
<body>
    <a name="head0"></a>
    <h2>Js中的对象</h2>
    <script type="text/javascript">
      //1 Object对象
    
      //var obj = new Object();      
      var obj= new Date();
      //alert(obj.toLocaleString());
      
      function aa(){
          alert("aa");
      }
      //document.write( aa ); //等价于:aa.toString()   -->   function aa(){ alert("aa"); }
      //document.write("::"+ aa.toString() ); //function aa(){ alert("aa"); }
      document.write(">>> "+ aa.valueOf() ); //function aa(){ alert("aa"); }
      
      var arr=[23,3,4.5,89,0,-3,5];
      document.write("<br/>"+ arr);
      document.write("<br/>:: "+ arr.toString());
      document.write("<br/>>> "+ arr.valueOf());
      
    </script>
    
    <hr/>
    <script type="text/javascript">
       //1 String对象
       var str = "abc123";
       println(str);
       println( str.length );
       
      // document.write( str.bold() );
      for(var i=1;i<10;i++){
          var s = str.fontsize(i);//<font size="i"> str </font>
          //alert(s);
          s = s.fontcolor("red");
          println( s );
      }
      
      
      println( str.charAt(2));
      println( str.concat(s) );
      println( str.indexOf("bc", 0));
      println( str.link("http://www.baidu.com"));
      println( str.replace("a", "u"));
    </script>
    
        <a href="#head0">回到页面起始处</a>
</body>
</html>
</span>




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46450次
    • 积分:1556
    • 等级:
    • 排名:千里之外
    • 原创:113篇
    • 转载:4篇
    • 译文:0篇
    • 评论:18条
    博客专栏
    最新评论