当在类中调用实例函数时,对象的每个实例都会获得自己的函数副本,但在原型方法和静态方法中不会创建副本,它们属于类,所以如果它们都没有创建其函数的副本,那么为什么如果我们不想复制,可以简单地使用原型方法,那么我们是否有静态函数?
我有点困惑,如果有人能解释一下,那将会有很大的帮助
为了使用原型/实例方法,您需要拥有对象的实例或专门访问该类型的.prototype
。对于不需要实例的方法,静态方法提供更简单的语法。想想String.fromCharCode()
方法为例。如果说:
let str = "dummy string".fromCharCode(127);
额外的字符串实例只会分散你真正想做的事情:
let str = String.fromCharCode(127);
这应用了减少耦合(不需要实例来调用不需要它的方法)和信息隐藏(通过不在不属于那些特定对象的对象实例上公开方法)的良好编程实践。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)