请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于单例模式中js的静态方法的问题。

老师,静态方法是指直接挂在类上的方法,非静态方法是指挂在类的原型上的方法。定义在class里面的方法就是定义在原型(SingleObject.prototype)上的,那么new出来的实例访问的应该都是原型上的同一个方法吧?

正在回答

1回答

双越 2018-12-04 21:29:19

不是的,静态方法不是原型上的,就是 class 上的。你可以写一个 demo 说一下,对一个 class A 定义一个静态方法 A.fn=xxx ,然后用 A.prototype.fn 访问不了。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯卡4653875 #1
    嗯,理解了。我还有点迷惑的是,在class中定义方法就相当于A.prototype.fn=function(){},所有new出来的实例如果使用fn,那么访问都是同一个A.prototype.fn吗? 还是说这些实例访问的都是new的时候新生成的各自的方法。
    回复 有任何疑惑可以回复我~ 2018-12-04 21:46:34
  • 双越 回复 提问者 慕斯卡4653875 #2
    关于这个问题,你如果还比较迷惑,说明 js 基础知识还欠牢固。建议你看看我的《前端javascript面试技巧》那门课,里面有非常详细的讲解。
    回复 有任何疑惑可以回复我~ 2018-12-04 22:37:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信