JavaScript-怎么理解Javascript没有“类”这个说法!
引用类型
面向对象
学习javaScript高级篇的时候,在“引用类型”和“面向对象”章节提到说javaScript“不真正具有类”,但提到了“对象定义”,一直理解不了!
如果说没有“类”,那么:Object、Function、String...怎么解释?
难道只是说javaScript只是没有“类”这个说法,而用“对象定义”来代替“类”的叫法?只是叫法的不同?
如果只是叫法不同,那为什么不能定义自己的类?(code的对象的原始引用都是Object的实例)
另外:【引用类型】章节提到本地对象都是Object对象的继承,这个又怎么理解(继承我明白)!是先定义构造函数然后扩展原型对象的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不同于 C++,Javascript 中一切都是对象。你说的所谓“类”,在 javascript 中也是对象,你完全可以在运行时修改“类”。比如,你完全可以为 Function 添加一个方法(比如 printCaller 用于调试)。而且,你可以对任何函数对象 func 使用 new func() 这样的语法来生成新的对象。这样一来,也就不存在专门作为“对象的模板”的“类”了。
即使勉强把某些“确实用作构造函数的对象”当成所谓“类”,也无法回避:与 prototype 相比,它根本就不象是“对象的模板”啊。而 prototype ,它是直接用来复制的,顶天了是个“基本的对象”,也不是“类”。
所以,javascript 中没有类,无论是概念上还是语法上,都没有。