Aiv*_*var 1 javascript prototype
使用原型创建的JavaScript对象维护与其原型的"实时"连接,因此更改原型也会影响从其创建的对象.
如果新创建的对象只是复制了原型中的所有内容然后忘记了它,那么语言的语义就会简单得多.当然,实际的底层实现可能更加智能.
实时/动态连接的这个功能是否在一些众所周知的JavaScript库或程序中实际使用?
编辑:我不是建议JS继承系统有缺陷,我只是想了解上述功能的好处.
一定.我认为这个功能最突出的用途是动态地将方法添加到jQuery原型(称为"插件"),它被公开为jQuery.fn.
我无法理解为什么你认为"如果新创建的对象只是复制了原型属性,那么语言的语义就会简单得多".为什么这会更简单?您可以使用extend()函数创建具有该方法的对象,但这会在头部敲击原型继承的概念.
它是在Javascript中具有非静态继承的核心功能之一.修改已生成的实例的原型对象非常有用:
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |