<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    當(dāng)柳上原的風(fēng)吹向天際的時(shí)候...

    真正的快樂來源于創(chuàng)造

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks

    JS中對(duì)象的定義

    JavaScript把其中的對(duì)象定義為“屬性的無序集合,每個(gè)屬性存放一個(gè)原始值,對(duì)象或者函數(shù)”。
    因此,在JavaScript中,對(duì)象由特性(atrribute)構(gòu)成,特性可以是原始值,也可以是引用值。如果特性存放的是函數(shù),它將被看做對(duì)象的方法(method),否則該特性被看做屬性(property)。

    對(duì)象的創(chuàng)建

    對(duì)象是使用關(guān)鍵字new后跟要實(shí)例化的類的名字創(chuàng)建的,如:
    Var obj=new Object();
    Var str=new String();
    第一行代碼創(chuàng)建了一個(gè)Object類的實(shí)例,并把它設(shè)定給變量obj;第二行代碼創(chuàng)建了一個(gè)String的實(shí)例,并把它設(shè)定給變量str。
    如果構(gòu)造函數(shù)無參數(shù),括號(hào)不是必需的。
    如果把對(duì)象的所有引用都設(shè)置為null,可以強(qiáng)制性的廢除對(duì)象。

    關(guān)鍵字this

    在JavaScript中,要掌握的最重要的概念之一是關(guān)鍵字this的用法,它用在對(duì)象的方法中。關(guān)鍵字this總是指向調(diào)用該方法的對(duì)象,如:

    <script language="javascript">
    <!--
    window.onload
    =function(){
      
    var cube=new Object;
      cube.sideLength
    =6;
      cube.getVolumn
    =function(){
      
    return this.sideLength*this.sideLength*this.sideLength;
      }

     
      alert(cube.getVolumn());
    }

    //-->
    </script>

     

    使用構(gòu)造函數(shù)方式創(chuàng)建對(duì)象

    <script language="javascript">
    <!--

    window.onload
    =function(){
      
    // 創(chuàng)建Cube類的一個(gè)實(shí)例
      var cube=new Cube(3,7.8);
       
      
    // 顯示方塊的體積
      alert(cube.getVolumn());
      
      
    // 顯示方塊的重量
      alert(cube.getWeight());
    }



    function Cube(sideLength,density){
      
    // 給類Cube分配一個(gè)屬性sideLength,其值等于sideLength的值
      this.sideLength=sideLength;
      
      
    // 給類Cube分配一個(gè)屬性density,其值等于density的值
      this.density=density;

      
    // 給類Cube分配一個(gè)函數(shù),函數(shù)名在等號(hào)左邊,函數(shù)體在等號(hào)右邊
      this.getVolumn=function(){
        
    return this.sideLength*this.sideLength*this.sideLength;
      }


      
    // 給類Cube分配一個(gè)函數(shù),其中調(diào)用了本類的其它函數(shù)
      this.getWeight=function(){
        
    return this.getVolumn()*this.density;
      }

    }


    //-->
    </script>


    使用混合的構(gòu)造函數(shù)/原型方式創(chuàng)建對(duì)象

    <script language="javascript">
    <!--

    window.onload
    =function(){
      
    var cube=new Cube(3,7.8);
       
      alert(cube.getVolumn());
      alert(cube.getWeight());
    }



    function Cube(sideLength,density){
      
    this.sideLength=sideLength;
      
    this.density=density;
    }


    Cube.prototype.getVolumn
    =function(){
      
    return this.sideLength*this.sideLength*this.sideLength;
    }


    Cube.prototype.getWeight
    =function(){
      
    return this.getVolumn()*this.density;
    }


    //-->
    </script>

     

    理解protoType

    我們可以把protoType理解為創(chuàng)建新對(duì)象所依賴的原型,protoType對(duì)象是個(gè)模板,要實(shí)例化的對(duì)象都以這個(gè)模板為基礎(chǔ)。總而言之,prototype對(duì)象的任何屬性和方法都被傳遞給那個(gè)類的所有實(shí)例。

    使用混合方式創(chuàng)建實(shí)例的完整例子

     

    <html>
     
    <head>
      
    <title>使用混合方式創(chuàng)建類實(shí)例</title>
     
    </head>
      
    <body>   
        
    <div>
        
    <table border="1" class="holder" cellspacing="0" width="300" height="20">
          
    <caption>人員名單</caption>
          
    <tbody id="personList"> 
            
    <TR>
              
    <TH width="50">ID</TH>
              
    <TH>姓名</TH>
              
    <TH width="100">年齡</TH>
            
    </TR> 
          
    </tbody>
        
    </table>
        
    </div>
        
    <hr/>
        
    <div>
          姓名:
    <input type="text" name="name"/><br/>
          年齡:
    <input type="text" name="age"/><br/>
          
    &nbsp;&nbsp;&nbsp;&nbsp;<input type="button" name="btn" value="提交"/><br/>
        
    </div>
      
    </body>
    </html>
    <script language="javascript">
    <!--

    function $(id){
      
    return document.getElementById(id);
    }


    window.onload
    =function(){
      $(
    "btn").onclick=function(){
        
    var emp=new Employee($("name").value,$("age").value); 
        $(
    "personList").appendChild(emp.getInfoLine()); 
        
        $(
    "name").value="";         
        $(
    "age").value="";
      }

    }


    var sn=0;

    function Employee(name,age){
      sn
    ++;
      
      
    this.name=name;
      
    this.age=age;
    }


    Employee.prototype.getName
    =function(){
      
    return this.name;
    }


    Employee.prototype.getAge
    =function(){
      
    return this.age;
    }


    Employee.prototype.getInfoLine
    =function(){
      
    var row=document.createElement("tr");
      row.setAttribute(
    "height",20);
     
      
    var cell1=document.createElement("td");
      cell1.appendChild(document.createTextNode(sn));
      row.appendChild(cell1); 

      
    var cell2=document.createElement("td");
      cell2.appendChild(document.createTextNode(
    this.name));
      row.appendChild(cell2); 

      
    var cell3=document.createElement("td");
      cell3.appendChild(document.createTextNode(
    this.age));
      row.appendChild(cell3); 

      
    return row;
    }

    //-->
    </script>

     

    posted on 2009-02-26 12:07 何楊 閱讀(202) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 美女巨胸喷奶水视频www免费| 亚洲精品第一国产综合精品| 亚洲国产一区二区三区| 国产精品免费视频网站| 日韩免费视频一区| 最好免费观看韩国+日本| 人禽杂交18禁网站免费| 午夜小视频免费观看| 国产一区视频在线免费观看 | 国产精品免费高清在线观看| a级毛片在线免费| 久久成人免费电影| 最近在线2018视频免费观看| 国产精品久久永久免费| 最近免费中文字幕4| 日韩电影免费在线| 午夜亚洲av永久无码精品| 亚洲成av人片天堂网老年人 | 亚洲免费电影网站| aa级一级天堂片免费观看| 99精品全国免费观看视频| 日韩成人在线免费视频| 免费在线观看视频a| 国产亚洲精品高清在线| 久久精品国产亚洲av麻| 亚洲性猛交xx乱| 亚洲av成人一区二区三区在线播放| 香蕉视频免费在线播放| 日韩电影免费在线观看网站| 1000部无遮挡拍拍拍免费视频观看 | 99精品视频在线观看免费播放 | 亚洲精品美女久久7777777| 怡红院亚洲红怡院在线观看| 成av免费大片黄在线观看| 91香焦国产线观看看免费| 免费无码又黄又爽又刺激| av无码东京热亚洲男人的天堂| 综合亚洲伊人午夜网 | 亚洲美女色在线欧洲美女| 亚洲欧洲专线一区| 两性色午夜视频免费网|