《JavaScript高级程序设计》中的内置对象和本地对象的理解?

发布于 2022-09-01 17:17:00 字数 511 浏览 17 评论 0

本书中将我们常用的:Object,Array,Function,String等列为本地对象,而把Global和Math单独提出来归为“内置对象”,并且说根据定义内置对象也是本地对象。但是,很多资料中把前两者统称为“内置对象”。
不是纠结定义,而是因为我发现当我们使用Global和Math的方法和属性的时候是不需要实例化的,例如我们直接使用Math.min(),eval(),等方法,但是其他对象(包括我们自己创建的对象)的使用则需要实例化以后才有效。请大家帮我回答下面几个问题(任意一个都可以):

  1. 问题一

请各位技术前辈辨别我的说法是否准确无误,如有错误请您指正;

  1. 问题二

请问你是怎样理解内置对象的?

  1. 问题三

《JavaScript高级程序设计》这本书该怎么看?有很多问题都解释的不是很清楚,作为一个JavaScript这门语言的初学者,请推荐一些参考资料。书中提到的定义和标准的最新版本哪里可以查看?

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

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

发布评论

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

评论(3

明天过后 2022-09-08 17:17:00

我不知道你在哪里看到有将 Object 等列为本地对象的说法,至少我在这本书的英文原版中没有找到。不过原版中确实提到 Global 和 Math 是“内建(built-in)”的,但不是单纯的内建对象,而是“Singleton Built-in Objects”,也就是内建的单例模式的对象。

原版中称 Object, Array, Date, RegExp, Function, Boolean, Number, String 为“Reference Types(引用类型)”,并且特别说明“引用类型”特别容易与“类”混淆,所以书中后面的部分不会再用“类”这个术语。

Even though reference types are similar to classes, the two concepts are not equivalent. To avoid any confusion, the term class is not used in the rest of this book.

内置对象,也就是内建(built-in)对象,就是语言环境本身提供的对象,不需要再通过其它途径(比如引用第3方库之类)去获得,所以没啥特别的意思,就是告诉你这些个东西直接可以用而已。

GlobalMath 是对象,不是类型,所以不能生成实例,而是可以直接使用。问题中提到的另外几种属于类型,也有它们自己的静态方法可以使用,比如 Object.keys,但多数时候会使用这些类型的对象。

如果你觉得很多地方解释不清楚,那也许是翻译得并不准确。建议你直接看英文原版。

英文原版叫《Professional JavaScript for Web Developers》,网上找得到

JavaScript的标准是ECMA-262,参考 Standard ECMA-262。目前最新的标准是 ECMAScript 2015,也即 ECMAScript 6,就是我们平常说的 ES6。

青春如此纠结 2022-09-08 17:17:00

个人觉得说得有点乱。Global在window中是全局变量(全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象;这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻),但他不能直接访问,可以通过window间接访问,如使用window.Math和使用Math是一样的,通常我们把window省略了。其他的还有String、Date、parseInt,都是是全局对象的属性,等同于属性初始化,直接使用就可以了。

《JavaScript高级程序设计》是值得看,最重要的是前7章(包括历史)。看完这些我就去看汤姆大叔的深入理解JavaScript系列,地址在这:http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html,大叔讲了好多书本上没讲的内容,等你看完回来看书,好多不理解的全都通了。

大叔的那个系列有一定的难度,特别是其中的10到16章,有些难理解,我看了有做笔记包括自己的理解,你可以参考着看:http://my.oschina.net/Karon

我还买了几本书:《JavaScript DOM编程艺术》(这本在《JavaScript高级程序设计》前面看的,简单粗暴易懂,不过不是很透彻),《JavaScript高级程序设计》,《JavaScript设计模式》,《JavaScript语言精粹》,《JavaScript函数式编程》,《编写可维护的JavaScript》,《数据结构与算法JavaScript描述》... 基本上就等于横扫动物书了,目前在看《JavaScript设计模式》。。。。补充:刚出不久的《你不知道的JavaScript 上卷》讲得很透彻明白(内容或许是你感兴趣的作用域和闭包,this,原型)

感觉前人的肩膀还是要站站的,因为读原文档也是有理解不透的时候。

往日 2022-09-08 17:17:00

我只能说这本书算是讲的最好的了,没事多看几遍

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