Excerpt事实上我们编写的 JavaScript 无论你交给浏览器或者 Node 执行,最后都是需要被 CPU 执行的;但是 CPU 只认识自己的指令集,实际上是机器语言,才能被 CPU 所执行;所以我们需要 JavaScript 引擎帮助我们将 JavaScript 代码翻译 一. 认识 JavaScript 引擎1.1. 什么是 JavaScript 引擎当我们编写 JavaScript 代码时,它实际上是一种高级语言,这种语言并不是机器语言。 高级语言是设计给开发人员使用的,它包括了更多的抽象和可读性。 但是,计算机的 CPU 只能理解特定的机器语言,它不理解 JavaScript 语言。 这意味着,在计算机上执行 JavaScript 代码之前,必须将其转换为机器语言。 这就是 JavaScript 引擎的作用: 事实上我们编写的 JavaScript 无论你交给浏览器或者 Node 执行,最后都是需要被 CPU 执行的; 但是 CPU 只认识自己的指令集,实际上是机器语言,才能被 CPU 所执行; 所以我们需要 JavaScript 引擎帮助我们将 ...
一. 网页的整体解析流程1.1. 网页被下载的过程大家有没有深入思考过:一个网页 URL 从输入到浏览器中,到显示经历过怎么样的解析过程呢? 整个过程我先做一个简单的概括: 下载 HTML 文件 当用户在浏览器中输入网址时,浏览器会向服务器发送请求,请求下载网站的 HTML 文件。 解析 HTML 文件 下载完成后,浏览器开始解析 HTML 文件,并构建 DOM 树。在解析过程中,如果遇到外部链接的 CSS 或 JavaScript 文件,浏览器会发起新的请求来下载这些文件。 下载 CSS 文件 当浏览器遇到 link 元素时,会发起新的请求来下载该元素的 href 属性指向的 CSS 文件。下载完成后,浏览器会将 CSS 文件解析成 CSSOM 树,并将其与 DOM 树合并,构建出渲染树。 下载 JavaScript 文件 当浏览器遇到 script 元素时,会发起新的请求来下载该元素的 src 属性指向的 JavaScript 文件。下载完成后,浏览器会解析 JavaScript 代码,并执行其中的命令。在执行过程中,如果代码需要操作 DOM 或 CSSOM 树,浏览器会 ...
1. 写在前面虽然说Fetch API已经使用率已经非常的高了,但是在一些老的浏览器还是不支持的,而且 axios 仍然每周都保持 2000 多万的下载量,这就说明了 axios 仍然存在不可撼动的地位,接下来我们就一步一步的去封装,实现一个灵活、可复用的一个请求请发。 这篇文章封装的axios已经满足如下功能: 无处不在的代码提示; 灵活的拦截器; 可以创建多个实例,灵活根据项目进行调整; 每个实例,或者说每个接口都可以灵活配置请求头、超时时间等; 取消请求(可以根据 url 取消单个请求也可以取消全部请求)。 2. 基础封装首先我们实现一个最基本的版本,实例代码如下: 1234567891011121314151617// index.tsimport axios from "axios";import type { AxiosInstance, AxiosRequestConfig } from "axios";class Request { // axios 实例 instance: AxiosIns ...
hexo
未读1.创建 css 文件在项目的根目录 source 文件夹下创建 css 文件夹,在该文件夹中创建一个 custom.css。 123456789101112131415161718192021222324252627282930313233343536373839404142/*所有页面实现毛玻璃特效*/#aside-content,#search-mask,/* 手机端 */#sidebar #menu-mask { background: rgba(255, 255, 255, 0);}.search-dialog { border-radius: 0px;}/* 浅色模式 */html[data-theme="light"] #aside-content>.card-widget:first-child,html[data-theme="light"] #aside-content .card-widget,html[data-theme="light"] .layou ...
webpack
未读一.webpack安装 全局安装:npm install webpack webpack-cli -g 局部安装:npm install webpack webpack-cli -d 二.webpack打包2.1.项目目录结构1234567891011121314webpack - src - css - common.css - img - 1.jpeg - js - 1.js - 2.js - index.js - index.html - package.json - webpack.config.js ... 2.2.初次打包可能遇到的问题2.2.1.问题123456webpack : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的about_Execution_Policies。所在位置 行:1 字符: 1+ webpack ...
1.什么是 JDBC 定义:JDBC(Java Database Connectivity,Java数据库连接),它是一套用于执行SQL语句的Java API 作用:应用程序可通过这套 API 连接到关系型数据库,并使用 SQL 语句来完成对数据库中数据的查询、新增、更新和删除等操作 应用程序使用 JDBC 访问数据库的方式: 2.JDBC 常用 API2.1.Driver 接口 Driver接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用 注意:在编写JDBC程序时,必须要把所使用的数据库驱动程序或类库加载到项目的classpath中(这里指数据库的驱动 JAR 包) 2.2.DriverManager 类2.2.1.作用 DriverManager类用于加载JDBC驱动并且创建与数据库的连接 2.2.2.主要方法 方法声明 功能描述 static synchronized void registerDriver(Driver driver) 该方法用于向 DriverManager 中注册给定的 JDBC 驱动程序 static ...
编程语言
未读1.Swing 概述 Swing是在原有的 AWT 的基础上进行了补充和改进,提供了更加丰富的组件和功能,来满足GUI设计的一切需求 2.Swing 顶级容器2.1.Jframe2.1.1.概述 JFrame是一个独立存在的顶级容器(也叫窗口),不能放置在其他容器之中 JFrame支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等 2.1.2.示例1234567891011121314class Test { private static void createAndShowGUI() { // 创建并设置JFrame容器窗口 JFrame frame = new JFrame("JFrameTest"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭窗口时的默认操作 frame.setSize(250, 150); // 设置窗口尺寸 frame.setVisible( ...
1.I/O 流概述 InputStream和OutPutStream是字节流,而Reader和Writer是字符流 InputStream和Reader是输入流,而OutPutStream和Writer是输出流 图中的 4 个顶级类都是抽象类,并且是所有流类型的父类 2.字节流2.1.字节流概述 InputStream 方法声明 功能描述 int read() 从输入流读取一个 8 位的字节,把它转换为 0~255 之间的整数,并返回这一整数。当没有可用字节时,将返回-1 int read(byte[] b) 从输入流读取若干字节,把它们保存到参数 b 指定的字节数组中,返回的整数表示读取字节的数目 int read(byte[] b,int off,int len) 从输入流读取若干字节,把它们保存到参数 b 指定的字节数组中,off 指定字节数组开始保存数据的起始下标,len 表示读取的字节数目 void close() 关闭此输入流并释放与该流关联的所有系统资源 OutputStream 方法声明 功能描述 void ...
1.集合概述1.1.基本概念 集合可以存储任意类型的对象,并且长度可变 集合对象可以是任意的数据类型,并且长度可变 1.2.集合分类 单列集合 Collection 双列集合 Map 单列集合根接口,用于存储一系列符合某种规则的元素 双列集合根接口,用于存储具有键(Key)、值(Value)映射关系的元素 Collection集合有两个重要的子接口,分别是 List 和 Set Map集合中每个元素都包含一对键值,并且 Key 唯一,在使用Map集合时通过指定的 Key 找到对应的· List集合的特点是元素有序、可重复。该接口的主要实现类有ArrayList和LinkedList Map接口的主要实现类有HashMap和TreeMap Set集合的特点是元素无序并且不可重复。该接口的主要实现类有HashSet和TreeSet 2.Collection 接口 方法声明 功能描述 boolean add(Object o) 向集合中添加一个元素 boolean addAll(Collection c) 将指定集合 c 中的所有元素添加到该 ...
1.String类与StringBuffer类1.1. String类的初始化 使用字符串常量直接初始化一个String对象 12345String 变量名= 字符串;String str1 = null; // 初始化为空String str2 = ""; // 初始化为空字符串String str3 = "abc"; // 初始化为abc,其中abc为字符串常量 使用String的构造方法初始化字符串对象 1String 变量名 = new String(字符串); String类中常用的构造方法: 方法声明 功能描述 String() 创建一个内容为空的字符串 String(String value) 根据指定的字符串内容创建对象 String(char[] value) 根据指定的字符数组创建对象 1.2.String类的常见操作 方法声明 功能描述 int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引 int lastIndexO ...














