在javascript中,直接定义在构造函数上的方法和属性是静态的, 定义在构造函数的原型和实例上的方法和属性是非静态的。静态方法主要用于操作静态属性,可以用“类名.属性=function(){}”进行定义。
本教程操作环境: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 methodinstance.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); //undefinedconsole.log(typeof o.fn); //undefined
登录后复制
静态方法不能被实例对象调用,实例方法不能被构造对象调用。
推荐学习:javascript视频教程
立即学习“Java免费学习笔记(深入)”;
以上就是JavaScript如何定义静态方法的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2715088.html