canvas学习记录
Canvas概述Canvas API 提供了一个通过 Js 和 html 的元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。我在此仅介绍关于绘制 2d 的图片功能,若想绘制 3d 图形,请读者自行阅读 Three.js 的专栏 示例: 12345const canvas = document.getElementById("canvas");const ctx = canvas.getContext("2d");ctx.fillStyle = "green";ctx.fillRect(10, 10, 150, 100); 基本用法canvas 标签 1<canvas id="tutorial" width="150" height="150"></canvas> canvas 元素创造了一个固定大小的画布,它公开了一个或多个渲染上下文,其可以用来绘制和处理要展示的内容。canvas 起初是空白的...
Jquery学习记录
Jquery是一个 JavaScript 库,在使用 jquery 之前你需要掌握 js,因为 jquery 只是简化了 js 的一些操作。 1.使用 jquery1.1 $和$() 1$("h1").remove(); 大多数 jQuery 方法是在 jQuery 对象上调用的,如上所示;这些方法被称为命名空间的一部分,或“jQuery 原型”,最好将其视为 jQuery 对象方法。 但是,有几种方法不对选择起作用;这些方法被称为 jQuery 命名空间的一部分,最好将其视为核心 jQuery 方法。 在 jQuery 选择上调用的方法位于命名空间中,并自动接收并返回选择作为 .$.fn``this 命名空间中的方法通常是实用程序类型的方法,不适用于选择;它们不会自动传递任何参数,并且它们的返回值会有所不同。$ 在少数情况下,对象方法和核心方法具有相同的名称 1.2 $(文档).ready() 在文档“准备就绪”之前,无法安全地作页面。jQuery 会为您检测到这种就绪状态。其中包含的代码只有在页面文档对象模型 (DOM) 准备好执行 JavaScrip...
Node学习记录
Node.js 概述Node.js 是一个开源和跨平台的 JavaScript 运行时环境。在浏览器之外运行 V8 引擎(它解析和执行 JavaScript 代码,每个浏览器都有自己的一个引擎,而 V8 就是 Goole 浏览器的引擎)。Node.js 在单个进程中运行(注意 Node.js 不是单线程,这里的单个进程指的是 js 引擎所在的主线程(负责执行同步代码、处理回调函数)),不会为每个请求创建新线程。Node.js 在其标准库中提供了一组异步 I/O 原语,可防止 JavaScript 代码阻塞。 异步 Node.js 的实现原理node.js 底层依赖 libuv 库,libuv 内部维护了一个事件循环线程(js 的主线程),一个线程池,默认有 4 个线程,用于处理耗时的 I/O 操作,如文件读写、DNS 解析,还有其它专门处理特定功能的线程,如网络请求的线程等。 当 js 执行 promise 时,会将异步任务交给与其相对应的功能线程中执行,当执行完成后,会将对应的回调函数,放入任务队列,等待主线程处理。 JavaScript 主线程在同步代码执行完毕后,会进入...
Promise学习记录
PromisePromise 是 JS 中处理异步操作的一种规范,用于解决传统回调函数嵌套,让异步代码的逻辑更清晰,便于维护。Promise 表示一个异步操作的最终完成或失败及其结果值。有三种状态: pending(进行中):初始状态,既没有成功也没有失败 fulfilled(已成功):操作完成 rejec(已失败):操作失败状态一旦改变就不可逆。 概述 在 JavaScript 中,Promise 不会创建新的线程。因为 Js 是单线程的,浏览器和 node.js 的引擎只有一个主线程,所有同步代码和异步回调最终都会在主线程中执行。单线程设计是为了避免多线程带来的复杂问题(线程同步、资源竞争等),适合处理 DOM 操作场景。 Promise 本身是一个状态管理工具、用于规范异步操作的流程,他用来管理异步操作的 3 种状态,提供链式调用的方式,增强代码的可读性。Promise 的异步操作不会阻塞主线程,是依赖浏览器和 Node.js 的多线程环境,而并不是 js 引擎创建了一个新线程 执行同步代码的流程; 12345678console.log("1"...
)