首頁  >  文章  >  web前端  >  JavaScript如何定義靜態方法

JavaScript如何定義靜態方法

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-04-12 16:54:233797瀏覽

在javascript中,直接定義在建構函式上的方法和屬性是靜態的, 定義在建構函式的原型和實例上的方法和屬性是非靜態的。靜態方法主要用於操作靜態屬性,可以用「類別名稱.屬性=function(){}」來定義。

JavaScript如何定義靜態方法

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

function ClassA(){ //定义构造函数
};
ClassA.func = function(){ //在构造函数上添加一个属性(因为函数也是对象)
    console.log("This is a static method");
}
var instance = new ClassA(); //新建一个实例
ClassA.func();   //This is a static method
instance.func();   //Error:instance.func is not a function

當定義一個函數後透過「.」為其新增的屬性和函數,透過物件本身仍然可以存取得到,但是其實例卻存取不到,這樣的變數和函數分別被稱為靜態變數和靜態函數。

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

靜態方法不能被實例物件呼叫,實例方法不能被建構物件呼叫。

推薦學習:javascript影片教學

#

以上是JavaScript如何定義靜態方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn