談談JS建構函式

來源:互聯網
上載者:User

標籤:修改   靜態屬性   構造   hello   color   執行個體化   prot   屬性   函數   

//建構函式//使自己的對象多次複製,同時執行個體根據設定的訪問等級可以訪問其內部的屬性和方法//當對象被執行個體化後,建構函式會立即執行它所包含的任何代碼function myObject(msg) {    //特權屬性(公有屬性)    this.myMsg = msg; //只在被執行個體化後的執行個體中可調用    this.address = ‘Chengdu‘;    //私人屬性:無法通過對象直接存取    var name = ‘Tirion‘;    var that = this;    //私人方法    function sayName() {        alert(that.name);    }    //特權方法(公有方法)    //能被外部公開訪問    //這個方法每次執行個體化都要重新構造而prototype是原型共用,所有執行個體化後,都共同引用同一個    this.sayAge = function() {            alert(name); //在公有方法中可以訪問私人成員        }    //私人和特權成員在函數的內部,在建構函式建立的每個執行個體中都會包含同樣的私人和特權成員的副本,因而執行個體越多佔用的記憶體越多}//公有方法//適用於通過new關鍵字執行個體化的該對象的每個執行個體//向prototype中新增成員將會把新方法添加到建構函式的底層中去myObject.prototype.sayHello = function() {        alert(‘hello everyone!‘);    }//靜態屬性:通過一個對象執行個體修改後,其它對象執行個體來訪問,也是修改後的值//適用於對象的特殊執行個體,就是作為Function對象執行個體的建構函式本身myObject.name = ‘china‘;  //函數也是特殊的對象,所以可以給函數添加屬性和方法。而要通過對象來訪問,就要先得到這個建構函式,再訪問建構函式的屬性即可:m1.constructor.name//靜態方法myObject.alertname = function() {  //訪問方式同靜態屬性        alert(this.name);  //當通過對象執行個體的constructor訪問這個靜態方法的時候,執行內容也是constructor即myObject,所以會得到myObject的name即china    }//執行個體化var m1 = new myObject(‘111‘); 

 以上是我對JS建構函式的理解~~~

 

談談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.