面试
饮尽杯中月
这个作者很懒,什么都没留下…
展开
-
数组去重总结
原文 双层 for 循环 思想: 双重 for 循环是比较笨拙的方法,它实现的原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到新数组中,最后返回新数组;因为它的时间复杂度是O(n^2),如果数组长度很大,效率会很低。 function distinct(arr) { for (let i=0, len=arr.length; i<len; i++) { for (let j=i+1; j原创 2021-07-17 17:10:57 · 153 阅读 · 0 评论 -
数组扁平化
flat(参数) 深度 reduce 方法 + 递归调用 数组转成字符串,再将字符串转成数组原创 2021-07-17 10:40:28 · 124 阅读 · 0 评论 -
Vuex使用
需求:点击添加购物车的时候将对应商品加入购物车 将购物车的数据放入Vuex中 state: 保存的数据 在index.js中导入state,并且将state设置到Vuex.Store的实例中 getters:可以理解为state的一个计算属性 在getters.js中定义函数,在函数中处理state 在App.vue中导入mapGetters,方便引入getters.js中定义函数(需要在computed中使用) 然后就可以在模版中使用 在state中填入数据,此时购物车可以显示 如果不..原创 2021-07-02 21:18:58 · 93 阅读 · 0 评论 -
跨域全解析
JSONP 第一种解释 先注册函数f,然后引用url地址下的脚本,url传入app.get中,解析出callback为f,以js的方式返回,而js直接执行f(‘你好’)语句,所以会执行f函数 第二种解释(推荐) 利用script中的src属性,其不受跨域限制,使用src访问跨域资源 定义一个全局的callback函数,在另一个跨域的js文件里面,执行这个全局函数,并传入一段数据 ...原创 2021-06-25 15:01:38 · 92 阅读 · 0 评论 -
Event Loop
顺序 实例原创 2021-06-23 15:56:32 · 103 阅读 · 0 评论 -
圣杯布局的五种方式
方法一 center还在文本流之中,会影响到后面的元素,不影响前面的元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible"原创 2021-06-19 15:05:54 · 322 阅读 · 0 评论 -
js的继承
// 构造函数继承 // 缺点:原型链上的方法和属性没有办法继承 function Person() { this.name = "person" this.say = function () { console.log('say') } } Person.prototype.run = function () { console.log('run') } ...原创 2021-06-18 20:55:26 · 72 阅读 · 0 评论 -
深拷贝和浅拷贝
原理 需要为深拷贝 深拷贝解决方案: 方法一: 但是该方法也是有局限性的: 函数无法拷贝 正则无法拷贝 undefined无法拷贝 symbol无法拷贝 优点: 可以实现二级以下的深拷贝 方法二: 优点: 可以拷贝函数 可以拷贝正则 可以拷贝undefined 缺点: 二级以下无法实现深拷贝 手写 当访问的obj[key]为obj对象或数组的时候,会继续按之前的对象深拷贝操作,先判断是数组还是对象,然后再次进入for循环,如此反复直到符合第一个if(不是对象或者null),将返回值可以原创 2021-06-18 20:02:40 · 110 阅读 · 0 评论