JavaScript简介 js是一种弱类型语言,也是一种动态类型语言,js是一种基于对象和事件驱动的脚本语言。弱类型是指它对数据类型的要求不高,动态类型语言是指它在运行期间可以任意赋值。 基本语法 变量 语法:使用var声明变量 ,eg:var i = 100; var s = "s"; 注意:变量 ...
分类:
Web程序 时间:
2021-03-06 14:47:36
阅读次数:
0
简单需求的话:直接 JSON.parse(JSON.stringify(someobj)) 复杂需求的话:实现一个”完美“的深拷贝,只能求教上百行代码的 Lodash.cloneDeep() 了 面试够用版: function deepClone(someobj){ let cloneObj; // ...
分类:
Web程序 时间:
2021-03-06 14:35:25
阅读次数:
0
1、在vue的钩子函数中将需要调用的函数赋值给window。 mounted() { //将Vue方法传到全局对象window中 window.updateSocket = this.onSubmit;}, 2、js直接使用即可。 <script type="text/javascript"> up ...
分类:
Web程序 时间:
2021-03-06 14:24:14
阅读次数:
0
什么是 Proxy? MDN 上是这么描述的——Proxy对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。 其实就是在对目标对象的操作之前提供了拦截,可以对外界的操作进行过滤和改写,修改某些操作的默认行为,这样我们可以不直接操作对象本身,而是通过操作对象的代理对象来间接来操作 ...
分类:
其他好文 时间:
2021-03-06 14:23:49
阅读次数:
0
RDD算子调优 不废话,直接进入正题! 1. RDD复用 在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示: 对上图中的RDD计算架构进行修改,得到如下图所示的优化结果: 2. 尽早filter 获取到初始RDD后,应该考虑尽早地过滤掉不需要的数据,进而减少对内 ...
分类:
其他好文 时间:
2021-03-06 14:22:58
阅读次数:
0
1.5 堆排序 ? 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 核心思路: 1、depth := length/2 - 1 //节点深度,n,2n+1,2n+2 2、 ...
分类:
编程语言 时间:
2021-03-05 13:28:37
阅读次数:
0
深复制和浅复制只针对像 Object, Array 这样的复杂对象的。 简单来说,浅复制只复制一层对象的属性,而深复制则递归复制了所有层级。 比如浅拷贝: 当B拷贝了A的数据,且当B的改变会导致A的改变时,此时叫B浅拷贝了A,例如: //浅拷贝 var A={ name:"martin", data ...
分类:
其他好文 时间:
2021-03-05 13:26:34
阅读次数:
0
从这题学到许多,故写题解以记之。(orz ix35) 分个类: 若 \(l\sim r\) 全是 \(p\) 的后代,则答案就是 \(p\) 到它们的 LCA 的距离; 若既有后代又有祖先,答案显然是 \(0\); 只有祖先的话,还要分两种情况:如果它们到 \(p\) 的路径的交是不是一条直链的话( ...
分类:
其他好文 时间:
2021-03-05 13:21:24
阅读次数:
0
Object.defineProperty 劫持数据 只是对对象的属性进行劫持 无法监听新增属性和删除属性 需要使用 vue.set, vue.delete 深层对象的劫持需要一次性递归 var obj = { a: 1, o: { b: 2, o1: {} } } 无法监听原生数组,需要特殊处理, ...
分类:
其他好文 时间:
2021-03-05 12:56:07
阅读次数:
0
1.reentrantLock的含义 2.它实现了Lock接口 ...
分类:
其他好文 时间:
2021-03-04 13:22:22
阅读次数:
0