|
復制代碼 代碼如下:
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聲明的變量和方法,但外部可以通過公有方法為橋梁實現與私有變量交互
建議:為了便于閱讀與區分,私有變量和方法在命名前加一個或者兩個下劃線。
JavaScript技術:javascript入門基礎之私有變量,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。