javascript入門基礎之私人變數

來源:互聯網
上載者:User

先看javascript的普通函數用法 複製代碼 代碼如下:function sum(a,b){
var c = 10;
function add(){
c++;
}
add();
return a + b + c;
}
var d = sum(4,5);
alert(d) // 20

可以看出,外部要和函數sum進行互動,只能通過調用和傳回值形式,無法訪問裡面的參數c和內建函式add()。這對於函數來說屬於正常邏輯。
接下來看javascript的類用法 複製代碼 代碼如下:function sum(pa,pb) {
this.a = pa;
this.b = pb;
this.show = function(){
alert(this.a + this.b);
}
}
var t = new sum(4,5);
t.show();
alert(t.a);

這裡通過new建立了sum的對象t。通過t可以調用方法show來顯示參數和,也可以直接取參數資訊
結合兩種方式就產生私人變數和方法的效果。

複製代碼 代碼如下:function sum(pa,pb) {
var __c = 10; //私人變數
function __addc(){ //私人方法
__c++;
}
this.a = pa; //公有變數
this.b = pb; //公有變數
this.setc = function(pc){ //公有方法
__c = pc;
__addc();
}
this.show = function(){ //公有方法
alert(this.a + this.b + __c);
}
}
var t = new sum(4,5);
t.setc(1);
t.show();

從這個例子可以看出,外部無法調用var聲明的變數和方法,但外部可以通過公有方法為橋樑實現與私人變數互動
建議:為了便於閱讀與區分,私人變數和方法在命名前加一個或者兩個底線。

相關文章

聯繫我們

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