随笔分类 - JS
摘要:需要注意图中存在环路。 JAVA: public final Node cloneGraph(Node node) { return deepCopy(node, new HashMap<Integer, Node>()); } private Node deepCopy(Node node, Ha
阅读全文
摘要:因为数组是有序的,可以递归的选取根节点构建子树。 JAVA: public final TreeNode sortedArrayToBST(int[] nums) { if (null == nums) return null; return this.build(nums, 0, nums.len
阅读全文
摘要:自定义逻辑表达式,关键字:= 等于,& 与,| 或, !非, ( , ) ,<> 包含,>< 不包含, # 不等于。 表达式支持括号标识作用域。 自动机分析如下: JAVA 实现: public class ConditionAnalysis2 { // 终止符号 Set<Character> si
阅读全文
摘要:解法主要有两项工作: 1、处理作用域(栈或递归); 2、顺序处理逻辑:(1)根据分隔符将语句拆解为 token;(2)根据关键字的运算逻辑定义状态,设计自动机;(3)从左至右逐个解析 token ,将 token 压入自动机 程序处理时,先处理会引起自动机状态变更的关键字或字符,再处理 token,
阅读全文
摘要:页面中放两个输入框,一个绑定真实数据、一个绑定脱敏数据,仅展示脱敏数据。 <van-field v-model="person.cardNo" v-show="false" name="证件号码" label="证件号码" left-icon="coupon" placeholder="证件号码"
阅读全文
摘要:效果: 使用原生 JS 实现一个简单的树插件。 首先元数据的数据结构,每个节点需要包含自己的主键和父级节点的主键,才能描述树形结构。比如: [{ "id": "1", "name": "一级目录1", "fatherId": "0", }, { "id": "2", "name": "二级目录1",
阅读全文
摘要:<!DOCTYPE HTML> <html> <head lang="en"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>图片剪切</title> </head> <body> <div id
阅读全文
摘要:<!DOCTYPE HTML> <html> <head> <meta charset=utf-8> <title>获取相对坐标</title> <style type="text/css"> body { padding: 0px; margin: 0px; } .container { widt
阅读全文
摘要:(function (window) { window.URL = window.URL || window.webkitURL; navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || n
阅读全文
摘要:blobLoad(src, obj) { let self = this; const req = new XMLHttpRequest(); req.open("GET", src, true); req.responseType = "blob"; req.onload = function (
阅读全文
摘要:在项目中,为了节约网络消耗,需要将文件进行压缩后上传服务端。 最开始考虑的是将文件压缩为 zip ,由服务端返回后前端 zip 再进行解压。但 zip 对小文件、图片、视频的压缩效果很差。所以需要多种压缩方式配合使用。 图像采用 canvas 有损压缩: utils.dealImage = (bas
阅读全文
摘要:Promise 的作用是优化异步操作,解决“回调地狱” 问题。 对于异步操作,可以将其封装为 promise 对象,通过链式调用替代回调函数的嵌套。例如: let print = function (msg) { return new Promise((resolve, reject) => { t
阅读全文
摘要:通俗地讲,当声明一个函数时,局部作用域一级一级向上包起来,就是作用域链。 1.当执行函数时,总是先从函数内部找寻局部变量。 2.如果内部找不到(函数的局部作用域没有),则会向创建函数的作用域(声明函数的作用域)寻找,依次向上。 比如在闭包中可以直接使用外部函数内定义的变量,这也是闭包的本质:闭包函数
阅读全文
摘要:1.MVVM 模型 MVVM旨在利用WPF中的数据绑定函数,通过从视图层中几乎删除所有GUI代码(代码隐藏),更好地促进视图层开发与模式其余部分的分离。不需要用户体验(UX)开发人员编写GUI代码,他们可以使用框架标记语言(如XAML),并创建到应用程序开发人员编写和维护的视图模型的数据绑定。角色的
阅读全文
摘要:Kadnae 解法: var kConcatenationMaxSum = function (arr, k) { let sum = arr[0]; let newK = k > 2 ? 2 : k; let pre = 0; let an = 0; for (let i = 0; i < new
阅读全文
摘要:JS 是单线程的。 JS 是一门解释型脚本语言,主要用于处理浏览器与用户的交互。 个人认为设计为单线程的考量在于: 1、绝大多数交互相关的任务都是 CPU 密集型的短任务,任务耗时短、CPU 占用率高。若使用多线程,线程调度开销占总开销的百分比过大,收益不高。 2、要频繁的处理 DOM 元素。在所有
阅读全文
摘要:form 表单的 submit 是不能进行异步提交以及执行回调函数的,我们可以通过 jquery 的 form 组件实现这一点。 引入依赖:jquery.js,jquery.form.js 拿到我们表单的 jquery 对象 $(?) 构造 option: var options = { type:
阅读全文
摘要:针对 bootstraptable 中 hiden 为 true 的列 。 隐藏列不会渲染为 DOM 元素,所以我们无法通过 DOM 元素获取。 我们需要通过 bootstraptable 数据源的数据对象获取,其中包含隐藏列的数据。 //获取当前行的 bootstrap 数据对象 getDataR
阅读全文
摘要:当一个事件发生时,当前 DOM 元素本身可能不能处理这个事件,事件必须从这个按钮传播出去,从而到达能够处理这个事件的代码中。事件向上传递的过程便是事件冒泡。这是一个典型的责任链模型,由责任链上的节点依次对事件进行处理。当然,必要的时候我们也可以根据需要禁止事件的传播。 比如,当多个嵌套的 DOM 元
阅读全文
摘要:今天接手了一个新项目,发现框架中有一些点很有意思。 在之前接手的项目中,资源类的请求(比如请求一个页面),都是通过后台接口接收请求参数,再由模板引擎(比如FreeMarker/Thymeleaf 等)将动态数据拼装到静态页面中,再向请求方返回拼装好的页面。 但如果是 get 请求,其请求参数是包含在
阅读全文