<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)航:
     
    主站蜘蛛池模板: 三上悠亚亚洲一区高清| 日韩成人免费在线| 亚洲成AV人在线观看天堂无码| 日韩久久无码免费毛片软件| 国产乱子伦片免费观看中字| 久久久亚洲精华液精华液精华液| 国产精品视频免费一区二区| 亚洲国产精品无码中文lv| 四虎影视www四虎免费| 国产精品久久久久久亚洲影视 | 三级片免费观看久久| 国产免费观看网站| 一级做a免费视频观看网站| 亚洲成a人无码av波多野按摩| 一区二区三区视频免费观看| 中文字幕亚洲图片| 日韩精品无码免费一区二区三区 | 亚洲高清在线mv| 九九精品免费视频| 久久亚洲精品无码网站| 亚洲国产精品激情在线观看| a级毛片100部免费观看| 亚洲精品永久www忘忧草| 最新中文字幕电影免费观看| 免费高清A级毛片在线播放| 中文字幕亚洲乱码熟女一区二区| 三年片在线观看免费大全电影| 亚洲人成电影院在线观看| 免费a级毛片无码av| 黄色片免费在线观看| 亚洲六月丁香六月婷婷蜜芽| 亚洲M码 欧洲S码SSS222| 久久国产乱子伦精品免费不卡 | 无码永久免费AV网站| 免费中文字幕视频| 亚洲国产美国国产综合一区二区| 在线jyzzjyzz免费视频| 国产在线观看xxxx免费| 亚洲精品美女网站| 久久精品九九亚洲精品天堂| 成人奭片免费观看|