javascript 靜態變數與例項變數

2021-07-25 16:39:46 字數 824 閱讀 7386

剛看網易公開課stanford程式設計方法學的第九課

提到static靜態變數和instance variable例項變數,我想js肯定也有 研究了一下,如下:

靜態變數static是class的所有object都共享的,那麼在靜態變數static只能定義在建構函式外面,但是又要只能被同乙個class共享,故要用閉包(建構函式能讀取上層變數)加立即執行函式(避免外部汙染靜態變數)形式。

var myclass = (function () ;

this.getname = function (name) ;

};})();

var o1 = new myclass();

var o2 = new myclass();

o1.name // 私有靜態變數

o1.setname('改變了');

o1.name //私有靜態變數

o1.getname() ;//改變了

var o2 = new myclass();

o2.getname(); // 改變了

共有靜態變數就是classname.name

私有例項變數

function myclass() ;  

} myclass.prototype._getvalue = function () ;

var o1 = new myclass();

o1.getvalue(); //3

o1._getvalue() ;//undefined

Javascript靜態變數與例項變數

嚴格的來講,js裡面並沒有靜態與私有的概念,所有成員屬性都是公開的,下面只是參考oo語言,通過某種方式來實現類似的概念。一。靜態變數 1.私有靜態變數 所有例項共享。因為是私有的變數,所以不能通過函式名直接訪問。通過閉包來實現。根據閉包的作用域原理,只能在閉包內部訪問。所以,並不是類的任何地方都可以...

靜態變數與動態變數

1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...

靜態變數與動態變數

1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...