JavaScript-怎么理解Javascript没有“类”这个说法!

发布于 2016-12-16 19:39:22 字数 636 浏览 1272 评论 1

引用类型
面向对象
学习javaScript高级篇的时候,在“引用类型”和“面向对象”章节提到说javaScript“不真正具有类”,但提到了“对象定义”,一直理解不了!
如果说没有“类”,那么:Object、Function、String...怎么解释?
难道只是说javaScript只是没有“类”这个说法,而用“对象定义”来代替“类”的叫法?只是叫法的不同?
如果只是叫法不同,那为什么不能定义自己的类?(code的对象的原始引用都是Object的实例)

另外:【引用类型】章节提到本地对象都是Object对象的继承,这个又怎么理解(继承我明白)!是先定义构造函数然后扩展原型对象的方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-01-03 22:20:52

不同于 C++,Javascript 中一切都是对象。你说的所谓“类”,在 javascript 中也是对象,你完全可以在运行时修改“类”。比如,你完全可以为 Function 添加一个方法(比如 printCaller 用于调试)。而且,你可以对任何函数对象 func 使用 new func() 这样的语法来生成新的对象。这样一来,也就不存在专门作为“对象的模板”的“类”了。
即使勉强把某些“确实用作构造函数的对象”当成所谓“类”,也无法回避:与 prototype 相比,它根本就不象是“对象的模板”啊。而 prototype ,它是直接用来复制的,顶天了是个“基本的对象”,也不是“类”。
所以,javascript 中没有类,无论是概念上还是语法上,都没有。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文