DOCTYPE
DOCTYPE 是用来声明文档类型和 DTD 规范的,一个主要的用途便是文件的合法性验证。如果文件代码不合法,那么浏览器解析时便会出一些差错。HTML 编辑器通常也会在语法高亮的同时提供合法性验证。
通常有以下几种:
HTML5(推荐使用,其他的有触发怪异模式和近标准模式的风险)
1
一个深藏功与名的软件开发爱好者
JavaScript 从诞生之日起就是一门单线程的非阻塞的脚本语言
单线程是必要的,也是 JavaScript 这门语言的基石,原因之一在其最初也是最主要的执行环境——浏览器中,我们需要进行各种各样的 DOM 操作。试想一下 如果 JavaScript 是多线程的,那么当两个线程同时对 DOM 进行一项操作,例如一个向其添加事件,而另一个删除了这个 DOM,此时该如何处理呢?因此,为了保证不会 发生类似于这个例子中的情景,JavaScript 选择只用一个主线程来执行代码,这样就保证了程序执行的一致性。
浏览器接收到服务器返回的 HTML、CSS 和 JavaScript 字节数据并对其进行解析和转变成像素的渲染过程被称为关键渲染路径。通过优化关键渲染路径即可以缩短浏览器渲染页面的时间。
浏览器渲染页面前需要先构建 DOM 和 CSSOM 树。因此,我们需要确保尽快将 HTML 和 CSS 都提供给浏览器。
1.用户输入网址
2.浏览器通过 DNS 获取网站的 IP 地址。客户端先检查本地是否有对应的 IP 地址,若找到则返回响应的 IP 地址。若没找到则请求上级 DNS 服务器,直至找到或到根节点。
more >>
DNS查找IP地址的顺序: 浏览器缓存、系统缓存、互联网服务提供商(ISP)的DNS缓存、递归搜索(从浏览器缓存开始,如果没找到就继续往下一个找)。找到后,浏览器会获得一个IP地址。
对模块常见的一个问题就是:将组件 X 的实例传递到模块 Y 的最佳方式是什么?
常见的模式有一下几种:
push(val1,val2,...)、pop 操作,增加和删除,后进先出。返回数组的长度、弹出的元素。unshift(val1,val2,...)、shift() 对应在开头添加元素和删除元素。返回数组的长度、弹出的元素。splice(start,deleteCount,val1,val2,...) 从开始位置删除一定数量的元素,并从这个位置插入新的元素。返回删除的数组。reverse() 反向。返回数组本身。sort([orderfunction]) 排序。slice([start] [,end]) 返回子数组,拷贝后的,复制一个数组简单地 slice()。join(seperator) 返回以 seperator 作为间隔的字符串,默认为 ,。concat([arr1][,arr2]...) 连接数组并返回新的数组,concat() 复制数组。indexOf(val),includes(val),toString(同 join() 或 join(",")),forEach(),every,findIndex,map,reduce,keys,values。tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true