请稍等 ...
×

采纳答案成功!

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

静态方法以及原型上的方法

老师,

感觉静态方法一定程度其实也可以写在函数的原型上. 比如

Student.staticMethod() 
Student.prototype.staticMethod()

从内存开销角度, 二者是一样的
两者虽然一个储存在函数空间, 一个储存在函数的原型空间, 但是对于多个实例来说, 并没有产生其它的内存开销

为什么不
至于为什么不, 我的思考是

  1. 如果Student原型上有继承, 比如Student继承了Person, 那么把Student的staticMethod写在Student的原型上, 这样就变成了Person的方法, 而不只是Student自身的方法
  2. 原型空间上的方法活属性是给对象使用的, 而静态方法或属性是给类使用的

我这个理解是否合理呢?

正在回答

1回答


61132d90000134e410230645.jpg
详解答案在截图,建议上机测试

0 回复 有任何疑惑可以回复我~
  • 提问者 Bokk #1
    非常感谢!测试确实不能通过函数调用原型上的方法, 只能通过实例调用! 这样就通过原型链定义静态属性和方法就行不通了.
    回复 有任何疑惑可以回复我~ 2021-08-11 19:43:31
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号