javascript 閉包和原型

來源:互聯網
上載者:User

閉包

 function Person(firstName, lastName, age) 
    { 
        //私人變數: 
        var _firstName = firstName; 
        var _lastName = lastName; 
 
        //公開變數: 
        this.age = age; 
 
        //方法:  
 
        this.getName = function() 
        { 
            return(firstName + " " + lastName); 
        }; 
        this.SayHello = function() 
        { 
            alert("Hello, I'm " + firstName + " " + lastName); 
        }; 
    }; 
     
    var BillGates = new Person("Bill", "Gates", 53); 
    var SteveJobs = new Person("Steve", "Jobs", 53); 
     
    BillGates.SayHello(); 
    SteveJobs.SayHello(); 
    alert(BillGates.getName() + " " + BillGates.age); 
    alert(BillGates.firstName);     //這裡不能訪問到私人變數     

 

原型

    function Circle(x,y,r){   
      this.x = x;   
     this.y = y;   
     this.r = r;   
      //this.prototype = null ;     /*這句代碼可以看作是隱含存在的,因為javascript 中“類”的定義和函數的定義結構上沒有差異,所以可以說,所有函數都隱藏有這樣一個屬性。*/   
   }  

   Circle.prototype.area = function(){   
     return this.r * this.r * 3.14159 ;   
   }  

    var circ = new Circle(0,0,2) ;   
    alert(circ.area()) ;  

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.