JavaScript如何定义静态方法


本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。

在javascript中,直接定义在构造函数上的方法和属性是静态的, 定义在构造函数的原型和实例上的方法和属性是非静态的。静态方法主要用于操作静态属性,可以用“类名.属性=function(){}”进行定义。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

1

2

3

4

5

6

7

8

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

当定义一个函数后通过 “.”为其添加的属性和函数,通过对象本身仍然可以访问得到,但是其实例却访问不到,这样的变量和函数分别被称为静态变量和静态函数。

1

2

3

4

5

6

7

8

9

10

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如何定义静态方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript中foreach如何退出循环

ie浏览器不支持javascript怎么办

javascript是什么技术

es6箭头函数与function有什么区别?

javascript怎么实现鼠标追随

jquery实现带弹窗和次数的转盘抽奖(代码)

jsp写javascript用什么标签

原来es6 module还可以这样用!(备忘单)

node批量下载文件到本地的方法介绍(附代码)

js同源策略是什么

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...