理解 JavaScript 中的继承
继承应该是面向对象编程中讨论最多的话题之一了。绝大多数的面向对象(Object-oriented)语言都有类的概念,并且这些语言也都是通过类来实现继承的。而 JavaScirpt(ECMAScript) 中实际上是没有类这个概念的,即便现在 ES6 中引入了 class 这个关键字,但它其实也仅仅只是一个语法糖而已,与… 【阅读全文】
继承应该是面向对象编程中讨论最多的话题之一了。绝大多数的面向对象(Object-oriented)语言都有类的概念,并且这些语言也都是通过类来实现继承的。而 JavaScirpt(ECMAScript) 中实际上是没有类这个概念的,即便现在 ES6 中引入了 class 这个关键字,但它其实也仅仅只是一个语法糖而已,与… 【阅读全文】
JavaScript 中一个重要的方法就是事件委托(又叫事件代理)。事件委托将事件侦听器添加到一个父级元素上,这样就只用添加一次事件侦听器,可以避免向 (父级元素内)很多特定的 DOM 节点添加多个事件侦听器,减少了内存消耗,从而优化程序性能。而这个添加在父元素上的事件侦听器通过事件冒泡的事件流机制以分析查找子元素的匹配项。事… 【阅读全文】
在《认识 HTTP 报文》一文中介绍过一些 HTTP 首部字段的内容,HTTP 首部字段是 HTTP 报文的一个重要部分。在客户端和服务器的通信过程中,无论是请求还是相应都会使用 HTTP 首部字段来传递额外的信息。例如《认识 HTTP 中的内容协商机制》一文中就提到使用 Accept-Encoding 等首部字段进行内容协商,向服务器端获取压… 【阅读全文】
Notifications API 允许 Web 应用程序在系统级别发送在页面外部显示的通知,这样即使浏览器应用处于空闲或在后台运行,Web 应用程序也可以向用户发送信息,是与用户互动的一种非常强大的方式。并且在操作系统的通知管理器中会一直保存消息,用户可以在消息通知显示后再次查看。操作系统的通知系统当然会因平台和浏览器而异,但… 【阅读全文】
在 《认识 HTTP 报文》一中,介绍相应报文首部中都包含了相应的状态码。那么,这个响应状态码究竟是做什么的呢?今天就来介绍一下 HTTP 中的状态码。
状态码的作用或者说是职责就是当客户端向服务器端发送请求时,描述返回请求的结果。通过状态码,用户可以知道服务器是否正常处理了请求。状态码如 200 OK,以 3 位数字和原因短语组成。例如… 【阅读全文】
当我们在写电子邮件的时候,可以在邮件中编写文字和添加多个附件。这是应为电子邮件中采用了 MIME(Mulitpurpose Internet Mail Extensions – 多用途英特网邮件扩展)的机制。允许邮件处理文本、图片和视频等多种类型的数据。在 MIME 扩展中会使用称为多部分对象集合(Mulitpart)的方… 【阅读全文】
HTTP 中的内容协商机制(Content Negotitation)是指客户端和服务器端就响应的内容进行交涉,然后服务端提供给客户端最为合适的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断基准。
仅仅看内容协商机制的定义,可能还不是很清楚它到底是什么。举例来说,浏览器会根据自己默认语言(我的为中文),在访问某… 【阅读全文】
在 HTTP/1.1 协议所有可以被使用到的方法中,相信大家最熟悉的就是 GET 和 POST 这两个方法了。其实,除了 GET 和 POST 方法之外,在 HTTP 1.1 协议中还有很多其它的方法,例如:PUT、DELETE、HEAD、OPTIONS 等等。这些不同方法的作用在于,可以指定请求的 URI 资源按期望产生某种行为。本文就来介绍一下 H… 【阅读全文】
URL 是 Uniform Resource Locator 的缩写,即统一资源定位符。URL 就是一个给定的独特资源在 Web 上的地址。如果你从事 Web 前端开发有一段时间了,相信一定会遇到需要使用 JavaScript 解析 URL 地址信息的时候。本文就介绍一下如何使用 JavaScript 解析 URL。
在《认识 URI 与 URL》一文中具体介… 【阅读全文】