js中Prototype表示了函數的原型,prototype表示了一個類別的屬性的集合;當透過new來產生一個類別的物件時,prototype物件的屬性就會變成實例化物件的屬性;無法存取到,也就是變成私有變數和私有函數。
本文操作環境:Windows7系統、Dell G3電腦、javascript1.8.5。
prototype物件是實現物件導向的一個重要機制。每個函數也是一個對象,它們對應的類別就是function,每個函數物件都有一個子對象prototype。
Prototype 表示了該函數的原型,prototype表示了一個類別的屬性的集合。當透過new來產生一個類別的物件時,prototype物件的屬性就會成為實例化物件的屬性。
這個屬性非常有用:為一個特定類別宣告通用的變數或函數。
在函數內定義的變數和函數如果不對外提供接口,那麼外部將無法存取到,也就是變成私有變數和私有函數。
function Obj(){ var a=0; //私有变量 var fn=function(){ //私有函数 } }
靜態變數、函數
當定義一個函數後透過「.」為其新增的屬性和函數,透過物件本身仍然可以存取得到,但是其實例卻存取不到,這樣的變數和函數分別稱為靜態變數和靜態函數,用過Java、C#的同學很好理解靜態的意義。
function Obj(){ } Obj.a=0; //静态变量 Obj.fn=function(){ //静态函数 } console.log(Obj.a); //0 console.log(typeof Obj.fn); //function var o=new Obj(); console.log(o.a); //undefined console.log(typeof o.fn); //undefined
#相關學習推薦:js影片教學
以上是js中prototype是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!