无服务端的自动静态化Web应用

这里介绍的不是 SPA 和 PWA。 我觉得这可能是未来前后端分离的新方式,因为: 更快的页面显示 项目在构建时就能生成对应路由的静态页面,用户访问网页就能提前触发事件并渲染页面。这个在后面的一篇文章《SSR 相关》有介绍。 更方便的部署 前端项目骨架都静态化,因此资源可以走 CDN,这个没什么好说的。页面动态部分通过接口获取,可以使用 RESTAPI 也可以是 GraphQL。这样相对于传统的网页项目来说,静态化的方案可以大大节省服务器的资源。 解决方案成熟 1. React…

第二十二章 高级技巧

1. 类型检测的方式有哪些, 使用场景是? 使用 typeof 检测基础类型 使用 instanceof 检测引用类型 使用 Object.prototype.toString.call(value)可以处理大部分情况 2. 如果类没有用关键字初始化一般会造成什么后果, 怎么避免? 在构造函数中的属性会污染全局变量, 可以在构造函数中通过判断下当前实例的构造函数是不是自己, 如果不是则使用方法返回. 3. 补充一个完整类继承及实例化的示例? 补充 Object.create 的 polyfill…

第二十一章 Ajax与Comet

1. XMLHttpRequestd 对象发送请求的步骤, 使用和方法举例? 创建 xhr 实例 open 一个请求 设置 header send 请求 如果满足条件可以 abort get()同步示例: get()异步示例: post()示例: 注意点: 如果是相对路径, 则 URL 相对于执行代码的当前页面 调用** 方法并不会真正发送请求, 而只是启动一个请求以备发送** 调用 之后,请求就会被分派到服务器 通过来检测返回状态, responseText…

第十七章 错误处理及调试

1. try-catch 在可能发生错误的地方使用 try-catch 语句 catch 中的 error 错误对象必须要写, 不可忽略 error.message: 错误消息 error.name: 错误名称 2. 下面包含语句的代码返回值时? finally 子句一经使用,其代码无论如何都会执行 如果 finally 包含 return, 则会忽略上面的所有 return 上例子中返回 0 3. 报错的 error 类型种类, 如何获取类型? Error: 基类错误 EvalError…

第二十三章 离线应用与客户端存储

1. 如何判断在线状态? 属性: 事件: 2. manifest 应用缓存 看下 Gatsby 的实现. 书上说的和 Gatsby 实现的方式不一样. gatsby-plugin-offline gatsby-plugin-manifest 3. Cookie 相关 作用: 在客户端用于存储会话信息的 限制: 一个域下的所有 cookie 长度限制在 4095B(含)以内 每个域名下 cookie 个数不超过 50 个(一般最大) 每次请求会携带 cookie, 不建议存储大信息量 cookie…

第二十章 JSON

1. JSON 和 JavaScript 的关系? JSON 并不从属于 JavaScript JSON 是一种数据格式, 而不是编程语言 JSON 可表示的数据类型有: 对象/数组/字符串/数字/布尔值/null, 其余类型忽略. 2. 除了使用全局对象解析 JSON 还有什么方法? 问题点是? 还有方法可以解析, 问题点是: 中可能有恶意代码 性能不高 支持的的浏览器, IE8+ 3. 时的注意点? 不能保存函数, 如果有函数会忽略 值为会被忽略…

中文测试(内容已改动)

欢迎来到 XXX XXX 是用于优美、流畅写作笔记和文章的应用。 上手和掌握 XXX 非常容易。现在 wo 就展示给你。 XXX 界面包含三部分 📐 XXX 包含三栏,供你创建、编辑和管理笔记: 侧边栏(左侧):在笔记中加入标签后,XXX 就会将标签显示在侧边栏中。 你可以当作它们是在写作时可即时创建并使用的文件夹。 笔记列表(中间):你所有的笔记都在这里,按照修改日期排序。 你也可以 置顶 笔记。 编辑器(右侧):这里是创作的空间,也是你现在所处的位置。 😄 XXX 的样式 ✒️ XXX…

英文测试(内容已改动)

MacDown logo Hello there! I’m MacDown, the open source Markdown editor for OS X. Let me introduce myself. Markdown and I Markdown is a plain text formatting syntax created by John Gruber, aiming to provide a easy-to-read and feasible markup. The…

第十三章 事件

这里所说的事件是指: JavaScript 和 HTML 之间交互的事件. 也就是说, 浏览器文档在交互的过程中会以事件的方式通知绑定的监听器. 这里使用了传统软件工程的观察者模式的设计模型, 实现JavaScript与文档(HTML/CSS)之间的解耦. 1. 事件流理解? 事件流描述的是从页面中接收事件的顺序. “DOM2 级事件” 规定的事件流包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。 目标阶段是冒泡阶段的一部分.…

第十二章 DOM2和DOM3

1. 为什么属性获取到的样式信息不全? 这个 style 对象 是 CSSStyleDeclaration 的实例,包含着通过 HTML 的 style 特性指定的所有样式信息,但不包含与外部样式表或嵌入样式表经层叠而来的样式。 不同方式定义的样式(//在元素上定义)是有差异的!!! 使用可以获取包含当前元素的所有计算的样式. 方法接收两个参数: 要取得计算样式的元素和一个伪元素字符串(例如”:after”) 注意综合属性的返回值, 比如 border…