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

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

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

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

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

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

    JS中對象的定義

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

    對象的創(chuàng)建

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

    關(guān)鍵字this

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

    <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)建對象

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

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



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

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


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

    }


    //-->
    </script>


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

    <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)建新對象所依賴的原型,protoType對象是個模板,要實(shí)例化的對象都以這個模板為基礎(chǔ)。總而言之,prototype對象的任何屬性和方法都被傳遞給那個類的所有實(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 何楊 閱讀(203) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 91嫩草免费国产永久入口| 亚洲男女性高爱潮网站| 成人免费在线观看网站| 两个人看的www高清免费视频| 亚洲人成网亚洲欧洲无码| 日韩亚洲AV无码一区二区不卡| 免费大学生国产在线观看p| 国产一卡二卡四卡免费| 99久在线国内在线播放免费观看 | 外国成人网在线观看免费视频| 全黄A免费一级毛片| 免费亚洲视频在线观看| 亚洲砖码砖专无区2023| 亚洲美女精品视频| 久久精品国产亚洲AV麻豆不卡 | 最新国产成人亚洲精品影院| 亚洲精品综合一二三区在线| 国产AV无码专区亚洲精品| 亚洲精品国精品久久99热| 四虎影在线永久免费四虎地址8848aa| 妞干网免费视频在线观看| 日本阿v免费费视频完整版| 亚洲免费电影网站| 国产精品永久免费10000| 中文字幕天天躁日日躁狠狠躁免费| 国产情侣久久久久aⅴ免费| 97在线视频免费公开视频| 国产午夜精品久久久久免费视| 一级特黄录像免费播放肥| 国产精品成人啪精品视频免费| yy一级毛片免费视频| 国产日韩在线视频免费播放| 成人无码区免费A∨直播| 中文字幕乱码免费看电影| 永久免费AV无码网站国产| 免费观看在线禁片| 50岁老女人的毛片免费观看| 免费观看AV片在线播放| 成年女性特黄午夜视频免费看| 免费无码肉片在线观看| 永久中文字幕免费视频网站|