j2ee03.js01,模拟封装继承多肽,原型对象,系统的几个对象。js手册

第一:基本概念

javascript:客户端脚本语言。基于事件驱动
  特点:在客户端电脑上执行。
  脚本语言:语法结构不严谨,不做复杂的逻辑运算
  用途:1.进行客户端验证 2实现网页特效
 2.语法构成:
  ----变量:
      var name="aaa";:后面内容是什么类型的,var就是什么类型的,即使是数组也不用写[]。
      alert(typeof(name));:typeof函数是获得变量的所属类型 。
      if(typeof age=="number"):如果age变量是number类型。

  ----运算符:除法运算跟java不一样,其他都一样
  ----控制语句:if,switch
  ----循环语句:for,while
  ----函数:当函数有返回值的时候可以把这个函数赋给一个变量。函数也可以通过事件调用
           2.如果函数没有方法名就是一个匿名函数,匿名函数也可以赋给变量。这个变量就相当于是函数名
           3.动态函数,也就是new一个函数对象,里面的参数包括了形参和函数体。
           注意函数在javascript中就是一个对象
  ----数组
------------------------
3.onclick:单击事件
--------------------
4.javascript模拟类(封装):var变量相当于私有属性,本类使用。this相当于公有属性。
  javascript用函数来模拟继承:Dog.prototype=animal;其中prototype是函数的属性,每个函数都有这个属性。表示创建对象的函数
  prototype表示原型对象。
注意:prototype不是继承而是克隆,具体请看网站http://www.cnblogs.com/yjf512/archive/2011/06/03/2071914.html
5.javascript的常用系统对象:我们自定义函数能够成为对象,但是javascript本身也有内置对象
  ----String:字符串对象
  ----Array:数组对象
  ----日期对象,四个函数
  ----全局对象(直接用,不用其他的东西调用),parsetint(解析成int),isNaN(是不是全是数字)

 

 

第二:代码演示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
 
//第一题
/**   function test1(){
     var str1="   sssssssss    ";
  var s=str1.trim();
  alert(1+s+1);
  }
 //var temp=test1();
 //alert(temp);
  **/
 
 //第二题,for循环遍历每个字符
 /**function test2(){
   var str="abcdefg";
   for(var x=0;x<str.length;x++){
    alert(str[x]);
   }
  }
  //var temp2=test2();
  //alert(temp2);
  //第二题,in遍历字符
  function test3(){
   var str="abcd";
  
  }
  var s1=test3();
  alert(s1);**/
 //函数就相当于一个类,this是公有变量,匿名函数在这里相当于方法
 function StringTool(){
  this.test1=function(arr){
    for(var x=0;x<arr.length;x++){
    alert(arr[x]);
   }
  }
  this.test2=function(arr){
   for(var x in arr){
    alert(arr[x]);
   }
  }
  this.test3=function(arr){
    var s=arr.trim();
          alert(1+s+1);
  }
 }
 var st=new StringTool();//创建对象实例
 var s="abcdefg";//创建形参
 var ss="   sssss    "
 //alert(st.test1(s));//方法调用
 //alert(st.test2(s));//方法的调用
 //alert(st.test3(ss));
 
 
 //第三题
 function DateTool(){
  this.date=function(){
  var d=new Date();
  alert(d.toLocaleDateString());
  }
 }
 var dt=new DateTool();//创建对象实例
 //alert(dt.date());//调用方法
  //第四题
   function ArrayTool(){
   this.amax=function(arr){
    for(var x=0;x<arr.length;x++){
     var max=arr[0];
     if(arr[x]>max){
      max=arr[x];
     }
    }
    return max;
   }
   this.searchArr=function(arr,value){
    for(var i=0;i<arr.length;i++){
  if(arr[i]==value){
          return i;
  }
 }
 return -1; 
   }
   }
  
 var at=new ArrayTool();//创建对象实例
 var arr=new Array(23,56,21,887);//创建形参
 var arr1=[88,56,32,1];
 //alert("最大数:"+at.amax(arr));//结合上面两个,方法的调用
 //alert("32在数组中的索引是"+at.searchArr(arr1,32));//方法的调用
 
 
   //第五题,模仿java中的类
   function Person(){
    var name="张三";
    var age=13;
    this.setName=function(n){
    this.name=n;
    }
    this.setAge=function(a){
     this.age=a;
    }
    this.show=function()
  {
   alert('自我介绍:'+name+"   年龄"+age);
  }
   }
   var per=new Person();
   per.setName("小明");
   per.show();
   //alert(per.name+"    "+per.age);//此时年龄没有显示
   per.setAge(20);
   //alert(per.name+"    "+per.age);
  
   //六,原型对象
   function  Test(){
    this.t=function(arr){
   for(var x in arr){
    alert(arr[x]);
   }
  }
   }
 Test.prototype=st;
   var test = new Test();
  //alert(11111);
  alert(test.test3(ss));
  alert(test.t(s));

 

</script>
</head>

<body>
  
</body>
</html>

你可能感兴趣的:(j2ee03.js01,模拟封装继承多肽,原型对象,系统的几个对象。js手册)