![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
Spider.Wang
Be myself.
展开
-
JavaScript笔记之indexedDB的轻量化使用(增删改查)
前些日子尝试使用 HTML5 的 indexedDB,发现标准提出来的非关系型数据库真的很难用,根据自己理解基于 indexedDB 封装了一个轻量级的数据库管理类,能够快速的建表、存数据。1.需求分析介于 indexedDB 不人性化的事务操作,以及神奇的建表逻辑(只能通过升级数据库,在升级事件内建表!),考虑自己实际需求做了以下的取舍:因为轻量级原因,我只需要建多张表而不需要建数据库,因此全局只要维护一个数据库实例即可;因其离谱的建表逻辑(也有可能我没把握住),通过多次尝试,最终选择在需要.原创 2022-05-04 22:17:25 · 1808 阅读 · 0 评论 -
JavaScript笔记之Promise接口封装(deffer)
近期工作需要大量封装 promise 对象异步访问接口,考虑到之前的接口封装过于冗余,在学习了一些项目源码后,结合自己理解编写了适合快速 promise 封装的接口形式。具体代码如下:1.原先的接口封装通过返回 promise 对象进行函数返回值的异步封装。/** 这种 `promise` 接口封装方法,优点是结构清晰,缺点是不利用做内部链式调用,通过代码风格较差*/function test (_items) { return new Promise((resolve, reject).原创 2022-05-03 11:05:54 · 1381 阅读 · 0 评论 -
JavaScript笔记之队列与事件队列
最近根据工作需要参考网上资料编写了 JavaScript 的队列,并根据实际需求增加事件队列机制。具体代码如下:1.构建 队列 数据结构对象按照以往原型实现方式构建接口。/** 队列*/let Queue = function () { // 存储 this._items = []}/** 元素添加到队列中*/Queue.prototype.enqueue = function (element) { this._items.push(element)}/**.原创 2022-05-02 18:03:42 · 1631 阅读 · 0 评论 -
JavaScript笔记之实现事件的发布订阅
最近根据工作需要重新梳理了旧的前端事件发布订阅机制,完善了订阅流程。具体代码如下:1.创建 event 父级对象因本人个人喜好,目前仍然使用 es5 的 原型继承模式 设计类,并未直接使用 es6 的 class。如有需要,简单适配下即可。/** 事件对象*/let Event = function () { // 订阅事件列表 // 通过对象存储事件的 key 与 value,方便进行存储与管理 this._eventHandlerList = {}}2.注册事件确保先.原创 2021-12-19 16:12:00 · 1133 阅读 · 0 评论 -
JavaScript笔记之编程规范
一份简洁自用的JavaScript编码规范。1.命名规范变量名、属性名、对象名、方法名等统一采用小驼峰式命名规范:let thisIsValue = "hello";let myObject = { firstKey: "", secondKey: ""};类名、文件名使用大驼峰命名规范:MyTest.jsclass MyClass { }function M...原创 2019-05-05 14:56:53 · 277 阅读 · 0 评论 -
JavaScript笔记之对象赋值
前端开发中经常会遇到对象的拷贝赋值,因为JS对象的特殊原因,直接赋值其实传递的是地址而不是传值。很多时候我们并不希望传地址,下面介绍关于数组和对象的赋值小技巧:1.数组的赋值数组在JS中是一个特殊的对象,对数组的赋值操作实际上等同于对对象的赋值。// 循环赋值是最简单的一种赋值:let a_arrs = [1, 2, 3, 4, 5];let a_arrs_copy = [];...原创 2019-05-05 14:57:29 · 2237 阅读 · 0 评论 -
JavaScript笔记之简单实现一个ColorPicker
最近在开发中想要使用一个简单的颜色选择器,上网搜索之后发现大部分都是基于jQuery的,一些基于原生的选择器功能又很冗余。于是自己基于原生js写了一个只为实现简单pick功能的颜色选择器。1.创建面板容器// 创建一个div容器let edit_color_panel = document.createElement("div");2.简单设置容器样式edit_color_pan...原创 2019-05-05 14:58:27 · 778 阅读 · 0 评论