- 博客(37)
- 收藏
- 关注
原创 安装cnpm镜像报错 internal/modules/cjs/loader.js:797 throw err; ^Error: Cannot find module ‘node:
安装cnpm镜像报错Error: Cannot find module 'node 的解决方案
2023-08-14 09:59:28
1315
原创 css实现元素水平垂直居中
1.给父元素设置flex布局;<style> .parent { width: 200px; height: 200px; background-color: green; display: flex; justify-content: center; align-items: center; } .s
2022-05-29 12:22:04
96
原创 清除浮动的原因和方法
清除浮动为什么要清除浮动?清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题;当父元素不给高度的时候,内部元素不浮动的时候会撑开,而浮动时父元素会变成一条线,所以这个时候就需要解决浮动;清除浮动方式:1.触发父元素的bfc,即便内部的子元素设置了浮动,也不会整个布局产生影响;2.额外标签法,在内部子元素的后面新增一个空的元素,设置clear:both;3.伪元素法,伪元素回作为它的一个子元素出现,新增的空的子元素需要是一个块级元素,并且清除浮动clear:both;代码实现
2022-05-29 11:55:58
483
原创 v-for中key的作用
key的作用主要是为了高效的更新虚拟DOM;key主要用来做dom diff算法用的,diff算法是同级比较,比较当前标签上的key与标签名,如果key和标签名都一样时,只是做了一个移动的操作,不会重新创建元素和删除元素;同级比较;标签名不同,直接删除,不继续深度比较;标签名相同,key相同,就认为是相同结点,不继续深度比较;在vue中,默认使用的是“就地复用”策略;在dom操作时,如果没有key,会造成选项错乱;如:若使用数组索引index作为key,当向数组中指定位置插入一个新元素后,这时会更
2022-05-29 11:05:49
2903
原创 防抖与节流
大白话理解防抖与节流防抖:应用场景:当我们在一个input框中进行输入时,如果不设置防抖函数,则我们每个输入一个字符,就会向后台发送一次请求,非常消耗性能;实现:function debounce(fn, delay) { let timer = null return function () { if (timer) { clearTimeout(timer) } timer = setTimeout(() =
2022-05-27 20:19:50
116
原创 H5的本地存储
H5的本地存储本地存储:通过浏览器访问服务器的时候,一部分数据存在服务器,一部分数据存在浏览器,存在浏览器时,我们就用到了本地存储,也就是客服端数据的存储;本地存储可以使用在哪里?比如用户的临时登录信息,用户页面配置,当前临时信息;一些东西用户想要存起来,方面下次访问时继续使用,但是服务器没有必要浪费空间来存储这些信息,此时就可以应用本地存储,存放在用户本地本地存储的方式:cookie:最多只能存储4kb大小的数据,每次http请求都会被传回服务器;在其设置的过期时间之前有效;在所有同源窗口可以共
2022-05-24 17:06:43
1732
原创 对promise的理解与应用
promise的理解与应用promise概念三种状态实例方法then()catch()finally()promise.all()promise.race()promise概念promise是一个类、一个构造函数,通过new关键字生成实例;promise是一种承诺,是异步编程的一种解决方案,(不是异步编程,只是异步编程的一种解决方案);将异步代码的回调写法改为同步代码(只是写法同步,还是异步执行);它接收一个函数来作为参数,这个函数有两个参数,分别是resolve和reject;reslove函
2022-05-21 21:17:01
314
原创 原型及原型链
原型及原型链***原型:***当我们创建一个对象的时候,系统都会给它自动关联另一个对象,这个对象就是所说的原型,每一个对象都会从原型中继承属性和方法;原型用来解决共享属性和方法的问题;每一个函数都拥有prototype属性,每一个对象都拥有__proto__;对象在查找一个属性或方法的顺序:在对象本身 -->构造函数 -->对象的原型(或者说函数的原型对象prototype)–>当前原型的原型查找的过程就是顺着原型链去查找;原型链把原型串起来,原型链的顶端是null;...
2022-05-20 16:23:33
126
原创 作用域及作用域链
作用域及作用域链***作用域:***在运行代码中的某些特定部分中的变量、函数和对象的可访问性。换句话说,作用域决定了变量或其他一些资源的可见性。***作用域链:***内部可以访问外部的变量,但是外部不能访问内部的变量;如果内部有这个变量,优先查找内部,如果内部没有这个变量,就查找外部的。注意:声明变量时使用什么关键字进行声明,如果没有使用关键字,则会变成全局变量;使用var声明,会有变量提升的机制。...
2022-05-20 16:21:15
229
原创 伪数组转换为真数组
第一种方法:Array.from() let li = document.getElementById('list') let arr = Array.from(li) console.log(list instanceof Array) //false console.log(arr instanceof Array) //true第二种方法: Array.prototype.slice.call() let li = document.getElemen
2022-05-18 15:34:22
123
原创 call、apply和bind的区别
call、apply和bind之区别共同点:它们的第一个参数都是改变this的指向;区别:call是挨个传值,apply传一个数组,bind也是挨个传值,但和call和apply还有一些不同,使用call和apply会直接执行这个函数,而bind并不直接执行,而是将绑定好的this重新返回一个新函数,什么时候调用由你自己决定;如:function fn(a,b,c,d){ console.log(a,b,c);}fn.call(null,1,2);fn.apply(null,[1,2,3
2022-05-18 15:15:05
104
原创 ReferenceError: XMLHttpRequest is not defined (解决方案)
首先查看有没有安装xmlhttprequest ,如果没有,先安装npm install xmlhttprequest(xmlhttprequest小写)然后,需要引入,不引入的话同样报错在创建对象之前引入 :var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;这时候,在创建对象 const xhr = new XMLHttpRequest()运行的时候就不会报这个错啦...
2022-04-24 11:31:24
4652
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人