深入淺出Javascript(三)建立自訂對象以及屬性、方法

來源:互聯網
上載者:User

 

  1. 怎麼樣建立一個對象?

    1. 利用Object建立自訂對象

      1. JavaScript能夠自訂對象來擴充程式的功能,不僅如此,它還能擴充JavaScript提供的內建對象,新增內建對象的屬性或方法
      2. 例如下面代碼,建立一個myObj對象
      3. <script language="javascript" type="text/javascript">//聲明一個對象副本var myObj=new Object();//簡寫形式var myObj=new {};</script>
      4. 給對象增加屬性
    2.   
      //給對象增加屬性myObj.Name='李龍生';    myObj.Age=24;
    3. 也可以用with語句
      1. //with語句對對象操作with(myObj){Name='李龍生';Age='24';}

PS:JavaScript的對象可以看做是一個數組,對象名即數組名,屬性即數組元素,屬性值即元素值。

  1. 利用建構函式建立對象

      1. 建構函式(Constructor
        Function)是一個函數,能夠定義對象的屬性和方法,其實,JavaScript內建對象也是一些建構函式,如Object、Array、String等分別對應Object()、Array()、String()建構函式。

 

      1. JavaScript能夠自己建立對象的建構函式,定義對象擁有的屬性和方法,然後,利用定義好的函數建立對象,也可以把它視為一個對象的聲明,如下代碼:
        1. <script language="javascript"  type="text/javascript">//定義一個驗證登陸函數function yanzheng(UserName,UserPassWord){this.name=UserName;this.password=UserPassWord;}</script>
        1. 上述建構函式擁有兩個參數值,可以建立屬性值,this命令指的是建立的對象本身.

         

        1. 使用new命令建立對象副本
        2. //執行個體化對象yanzheng1=new yanzheng('李龍生','123456');
  1. 一般方式對象副本方式增加屬性和方法
    1. 只需通過對象自己增加,很簡單不再舉例子。
  2. 通過JavaScript的Prototype對象增加屬性和方法
    1. JavaScript屬於一種基於原型語言,不同於Java、VB等,基於原型的語言其類與執行個體對象區別不大

     

    1. 例如我們可以拿一個現成的對象作為原型建立其他對象,此對象可以分享原型對象的屬性和方法,使用prototype對象可以繼承其他對象,而這一點是基於Class中,做不到的,在Class中需要用深淺複製的Prototype模式才可以實現。

     

    1. 每一個對象都擁有Prototype屬性,這個屬性會被建立這個對象副本的對象所繼承,這樣建立新對象時不用重複已有的屬性、方法,節省了記憶體空間。
    1. 增加屬性
//通過原型增加層級屬性yanzheng.prototype.Level="管理員";

        增加方法

//通過原型增加登陸方法yanzheng.prototype.login=BeginLogin;

   

 

     e. 通過Prototype繼承其它對象

     繼承不但可以使用原對象作為原型建立其它對象,還可以擴充項物件的屬性和方法,例如對上面驗證函式如果新增一個安全模式驗證函式,但它也需要使用者名稱、密碼,只需繼承上面即可。看下面代碼

//登陸模式function SSL(ssl){this.SSL=ssl;}//prototype對象的繼承SSL.prototype=new yanzheng();

                  JS是一門語言,需要系統學習,理解語言的本質才會運用自如,打好基礎才能走的更遠!!

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.