自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 斯坦福大学数据可视化课程学习笔记:第一节 可视化的发展与目标

《斯坦福大学数据可视化课程学习笔记》课程资源来自于斯坦福大学数据可视化课程。本系列是我在学习过程中记录和整理的学习笔记,希望这些笔记也能够帮助更多朋友了解和学习数据可视化。1.历史上的可视化以时间为 x 轴的图表(time-series plot)基于时间轴的图表可用于找到数据在时间维度上的内在联系,以及大量数据的展示。世界上第一张 time-series plot ,出现于 10 - 11 世纪(下一张直到 late 1700s 才出现),这幅图展示了当时的人们发现的行星周期变化的规律..

2022-04-11 19:33:33 1037

原创 JavaScript的构造函数与原型继承

1. JavaScript的构造函数1.1 构造函数做了些什么在JavaScript中,可以直接用new Object()或字面量{}创建对象,但是这样没有解决对象的标识问题(即新创建的对象是什么类型)。可以使用构造函数和new操作符来创建特定类型的对象,构造函数也是函数,它与普通函数的区别就是调用方式不同——用 new 来调用,构造函数也可以被当作普通函数被直接调用或被call和apply,那个时候它就不是构造函数了。如下图所示,创建Person的实例对象,需要要new操作符,在这个过程中

2021-03-14 11:10:01 570 2

原创 Es6中函数的新特性

1. 函数的默认参数1.1 es5处理默认参数function add(a, b) { a = typeof a === "undefined" ? 0 : a; b = typeof b === "undefined" ? 0 : b; return a + b;}1.2 es6形参默认值function add(a = 0, b = 0) { return a + b;}1.3 es6形参变量默认值可以使用外层作用域内定义的变量当作默认值,后面的参数也可以

2021-03-11 21:40:25 317 1

原创 JavaScript的变量、作用域与内存

1. 原始值与引用值2. 执行上下文与作用域3. 垃圾回收

2021-03-18 14:21:51 144 1

原创 2021前端面试题目-JavaScript相关

在这里记录面试和刷题过程中遇到的各种题目,自己的解法以及别人的解法,如有错误欢迎指出~实现一个防抖函数面试常见题目防抖,就是在一个事件连续触发时不处理,在最后一次触发后一段时间内不再次触发,再去处理这个事件// [防抖] 连续触发不执行,触发事件的delay时间内不再次触发执行funcfunction debounce(func, delay) { let timer; return function () { if (timer > 0) { // 处于上一.

2021-03-16 15:14:43 563

原创 JavaScript的数据类型

JS有6种简单数据类型:Number、String、Boolean、Null、Undefined、Symbol以及1个复杂数据类型:Object0. typeof 运算符对一个值使用 typeof 运算符,会返回一个字符串;Number类型:“number”; String类型:“string”; Boolean类型:“boolean”; Symbol类型:“symbol”; Object类型:“object”; // 非函数 Null类型:“object”;// null被看作是

2021-03-11 15:54:02 54

原创 2020-10-25

设置nvm镜像nvm安装node下载失败,使用taobao镜像可以很快下载好。环境:MacOS命令:export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node

2020-10-25 16:36:47 59

原创 ES6 - Promise 的常用方法

Promise 对象用于表示一个一部操作最终的完成或失败,以及结果值。在创建Promise时,创建者也不知道它的结果。一个Promise有三种状态:pending、fufilled、rejectedPromise的创建创建Promise时传入一个函数,函数的参数为resolve和reject两个处理函数。通常,在执行一些异步操作后,根据异步操作的结果,调用resolve或reject,改变promise的状态。let promise1 = new Promise((resolve, r

2020-07-01 17:22:10 238

原创 基于Vue递归组件的嵌套列表组件设计

需求背景:元素列表可以成组、可以嵌套成组,组可以展开收起。技术选择:Vue的递归组件机制。其实也就是一个引用了自己的组件。实现方法:列表的data为一个数组类型的树elementsTree,每个item除了自己的id、name等属性外,一个数组类型的elements属性,表示子元素列表。使用Vue.component注册组件element-item,每个element-item除了渲染自己的名称等样式外,还根据elements属性循环渲染自己的子元素列表。Vue..

2020-06-24 15:29:21 834

原创 使用 HTML5 Drag API 实现列表的嵌套拖拽

需求与背景:元素列表,多选后可以成组,支持最多3层的嵌套组。现要求可以拖拽元素,实现顺序的交换、组间的移动;移动时,显示位置提示的样式,放进组内与并列的样式不同;支持多选拖拽。技术选择:HTML5 Drag API使用的事件:dragstart 被拖动元素 dragenter 经过元素 dragover 经过元素 dragleave 经过元素 dragend 被拖动元素未使用的事件:dragexit ? ...

2020-06-24 14:38:15 1423 2

原创 使用正则表达式实现不区分大小写的高亮搜索

需求:搜索框输入变化时,匹配符合的元素匹配部分高亮。背景:元素名称为<input>,可以重命名。设计方案:搜索状态时,通过正则匹配,将<input>组件通过DOM操作,替换成<span>分割的字符,通过<span>的class实现高亮样式;在重命名时,显示回原来的<input>组件。主要方法:主要为正则匹配替换的方法。 handleSearchMode: function(pattern) { if(p

2020-06-24 11:01:55 1266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除