欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JavaScript如何定义静态方法

程序员文章站 2022-03-11 14:58:37
...

在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如何定义静态方法的详细内容,更多请关注其它相关文章!