JavaScript(3)函数、对象

原创 2016年08月29日 22:12:39

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>




版权声明:本文为博主原创文章,未经博主允许不得转载。

3. javascript 引擎Rhino源代码分析 浅析 实例函数对象及this

1.  目标         主要通过分析Rhino,讲述javascript创建对象及this的意义 2.  javascript测试代码         var vipObj = new vipF...

javascript初学记---3 应该是函数加点对象 (附带promise解析)

在javascript中函数是绝对的一等公民,可以自定义属性,自定义一切。定义函数 直接函数声明 var q = myFunc() function myFunc(){ // arrangem...

Javascript面向对象编程(3):非构造函数的继承

这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。 今天是最后一个部分,介绍不使用构造函数实现"继承"。 一、什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中...

Javascript 面向对象编程:(1)封装;(2)构造函数的继承;(3)非构造函数的继承

本文转自:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html 学习Java...
  • ssisse
  • ssisse
  • 2016年04月19日 12:41
  • 312

javascript打印函数(所有对象)

  • 2014年08月21日 16:34
  • 601B
  • 下载

JavaScript学习-面向对象与原型3

为了让属性和方法更好地体现封装的效果,并且减少不必要的输入,原型的创建可以使用字面量的方式。...

w3cshool之JavaScript对象_Date

  • 2012年05月25日 13:30
  • 29KB
  • 下载

w3cshool之JavaScript对象_String

  • 2012年05月24日 17:41
  • 30KB
  • 下载

跟我学JavaScript--3.引用类型,即对象

第三讲 JavaScript 引用类型即对象的讲解 3.1 object类型  大多数的引用类型都是object类型,使用最多。  object类型包含 属性 和 方法,有两种定义的方法:...
  • Junezm
  • Junezm
  • 2016年05月04日 13:40
  • 111
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript(3)函数、对象
举报原因:
原因补充:

(最多只允许输入30个字)