js笔记
文章平均质量分 90
软件技术NINI
五年资深网页设计与制作。鞭策自己让自己称为优秀的人,多像前辈讨教多学习,不堕落自己,不忘初心
展开
-
第9 章 代理与反射
使用代理的主要目的是可以定义捕获器(trap)。捕获器就是在处理程序对象中定义的“基本操作的拦截器”。每个处理程序对象可以包含零个或多个捕获器,每个捕获器都对应一种基本操作,可以直接或间接在代理对象上调用。每次在代理对象上调用这些基本操作时,代理可以在这些操作传播到目标对象之前先调用捕获器函数,从而拦截并修改相应的行为。注意 捕获器(trap)是从操作系统中借用的概念。在操作系统中,捕获器是程序流中的一个同步中断,可以暂停程序流,转而执行一段子例程,之后再返回原始程序流。原创 2024-10-11 10:30:00 · 974 阅读 · 0 评论 -
第8 章 对象、类与面向对象编程
在一个对象上同时定义多个属性的可能性是非常大的。为此,ECMAScript 提供了Object.define-Properties()方法。这个方法可以通过多个描述符一次性定义多个属性。它接收两个参数:要为之添加或修改属性的对象和另一个描述符对象,其属性与要添加或修改的属性一一对应。比如:这段代码在book 对象上定义了两个数据属性year_和edition,还有一个访问器属性year。最终的对象跟上一节示例中的一样。唯一的区别是所有属性都是同时定义的,并且数据属性的。原创 2024-10-11 08:30:00 · 781 阅读 · 0 评论 -
第7 章 迭代器与生成器
与Iterable 接口类似,任何实现Iterator 接口的对象都可以作为迭代器使用。下面这个例子中的Counter 类只能被迭代一定的次数:这个类实现了Iterator 接口,但不理想。这是因为它的每个实例只能被迭代一次:为了让一个可迭代对象能够创建多个迭代器,必须每创建一个迭代器就对应一个新计数器。为此,可以把计数器变量放到闭包里,然后通过闭包返回迭代器:每个以这种方式创建的迭代器也实现了Iterable 接口。Symbol.iterator 属性引用的工厂函数。原创 2024-10-10 08:45:00 · 870 阅读 · 0 评论 -
第6 章 集合引用类型
从各方面来看,Set 跟Map 都很相似,只是API 稍有调整。唯一需要强调的就是集合的API 对自身的简单操作。很多开发者都喜欢使用Set 操作,但需要手动实现:或者是子类化Set,或者是定义一个实用函数库。要把两种方式合二为一,可以在子类上实现静态方法,然后在实例方法中使用这些静态方法。在实现这些操作时,需要考虑几个地方。 某些Set 操作是有关联性的,因此最好让实现的方法能支持处理任意多个集合实例。 Set 保留插入顺序,所有方法返回的集合必须保证顺序。原创 2024-10-10 08:30:00 · 913 阅读 · 0 评论 -
JavaScript第5 章 基本引用类型
本章内容 理解对象 基本JavaScript 数据类型 原始值与原始值包装类型引用值(或者对象)是某个特定引用类型的实例。在ECMAScript 中,引用类型是把数据和功能组织到一起的结构,经常被人错误地称作“类”。虽然从技术上讲JavaScript 是一门面向对象语言,但ECMAScript 缺少传统的面向对象编程语言所具备的某些基本结构,包括类和接口。引用类型有时候也被称为对象定义,因为它们描述了自己的对象应有的属性和方法。原创 2024-10-10 09:00:00 · 550 阅读 · 0 评论 -
JavaScript 第3 章 语言基础
本章内容 语法 数据类型 流控制语句 理解函数任何语言的核心所描述的都是这门语言在最基本的层面上如何工作,涉及语法、操作符、数据类型以及内置功能,在此基础之上才可以构建复杂的解决方案。如前所述,ECMA-262以一个名为ECMAScript的伪语言的形式,定义了JavaScript 的所有这些方面。ECMA-262 第5 版(ES5)定义的ECMAScript,是目前为止实现得最为广泛(即受浏览器支持最好)的一个版本。原创 2024-10-09 10:11:35 · 1169 阅读 · 0 评论 -
第2 章 HTML 中的JavaScript
本章内容 使用<script>元素 行内脚本与外部脚本的比较 文档模式对JavaScript 有什么影响 确保JavaScript 不可用时的用户体验将JavaScript 引入网页,首先要解决它与网页的主导语言HTML 的关系问题。在JavaScript 早期,网景公司的工作人员希望在将JavaScript 引入HTML 页面的同时,不会导致页面在其他浏览器中渲染出问题。通过反复试错和讨论,他们最终做出了一些决定,并达成了向网页中引入通用脚本能力的共识。原创 2024-10-09 09:57:09 · 637 阅读 · 0 评论 -
JavaScript第4 章 变量、作用域与内存
这么一个简单的修改,极大地提升了重度依赖JavaScript 的网页在浏览器中的性能。比如,根据V8 团队2016 年的一篇博文的说法:“在一次完整的垃圾回收之后,V8 的堆增长策略会根据活跃对象的数量外加一些余量来确定何时再次垃圾回收。为了补救这一点,IE9 把BOM和DOM对象都改成了JavaScript 对象,这同时也避免了由于存在两套垃圾回收算法而导致的问题,还消除了常见的内存泄漏现象。垃圾回收过程是一个近似且不完美的方案,因为某块内存是否还有用,属于“不可判定的”问题,意味着靠算法是解决不了的。原创 2024-10-09 09:49:10 · 1033 阅读 · 0 评论