- 博客(18)
- 收藏
- 关注
原创 清除浮动的方法
父子级: 1.在子级元素后添加一个空元素,为其添加clear:both 弊端:增加了无意义的元素结构 2.给父级元素设置一个overflow:hiddden 解决了第一种方法的弊端 <style> *{ padding: 0; margin: 0; } .d1{ background-color: aqua; bo...
2021-11-20 21:34:43
249
原创 设置元素水平垂直居中的四种方法
1.margin移动<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <
2021-11-20 21:20:19
194
原创 HTML5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML 和 HTML5?
新特性:拖拽释放(Drag and drop) API语义化更好的内容标签(header,nav,footer,aside,article,section)音频、视频API(audio,video)画布(Canvas) API地理(Geolocation) API本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除表单控件,calendar、date、time、email、url、searc.
2021-11-12 16:46:24
197
原创 Promise
promise有几种状态,什么时候会进入catch?三个状态: pending、fulfilled、reject 两个过程: padding -> fulfilled、padding -> rejected当pending为rejectd时,会进入catch如何访问promise实例内部的状态?以及promise的实例方法、静态方法有那些?通过promise的实例方法访问 promise.then(res => { console.log(res...
2021-11-12 16:35:43
1139
原创 浅拷贝与深拷贝有何区别?如何实现?
浅拷贝只复制指向某个对象的指针,而不复制对象本身。浅拷贝的实现方式有:(1)Object.assign():需注意的是目标对象只有一层的时候,是深拷贝;(2)扩展运算符; 深拷贝就是在拷贝数据的时候,将数据的所有引用结构都拷贝一份。深拷贝的实现方式有:(1)手写遍历递归赋值;(2)结合使用JSON.parse()和JSON.stringify()方法。...
2021-11-12 16:23:42
305
原创 Vue组件通信/交互
(1)父组件传递数据给子组件父组件使用prop属性,向子组件传参<div id="app">" <my-com :title="title" msg="hello"></my-com></div>子组件接受参数let component = { props: ['title','msg'],}(2)子组件向父组件传递数据子组件向父组件传参 <div id="a...
2021-10-28 20:25:43
115
原创 Vue--侦听器和计算属性
侦听器watch:虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过watch选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。计算属性computed:我们希望一个变量是经过某种计算然后输出而不是直接输出的时候可以使用到计算属性计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。而每次调用函数都会导致函数的重新执行。浅监听:适用于基本数据类型..
2021-10-28 20:13:35
320
原创 Vue模板语法
**介绍:**vue使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有 Vue的模板都是合法的 HTML,所以能被遵循规范的浏览器和HTML解析器解析。在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,Vue 能够智能地计算出最少需要重新渲染多少组件,并把 DOM 操作次数减到最少。如果你熟悉虚拟 DOM 并且偏爱 JavaScript 的原始力量,你也可以不用模板,直接编写渲染函数及render,使用可选的 JSX 语法(react采用的就
2021-10-28 19:45:00
83
原创 Vue声明周期(钩子函数)
概念:从vue**实例创建**到**虚拟dom产生**再到**数据绑定**监听**数据渲染**以及**销毁**的整个过程生命周期的第一步首先是创建vue实例,并且进行初始化。(1)vue实例初始化阶段beforeCreate 在初始化的时候调用了beforeCreate,完成了vue实例的生命周期相关属性的初始化以及事件的初始化。这个时候还不能访问数据模型中的data和methods中的方法。created 在初始化完毕之后,完成vue的数据注入以及数据监听操作,该构造的执行意味...
2021-10-28 19:36:44
203
1
原创 npm ERR! { Error: EPERM: operation not permitted, mkdir ‘C:\Program Files\nodejs\node_cache\_locks‘
1. 场景:win10下安装node之后,node -v,npm -v都正常,node安装成功,但是运行npm i或者全局安装某插件时,报错:npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'2. 原因:node目录权限不够3. 办法:1.win + x(治标不治本)选择管理员身份运行命令行2.找到node安装目录,右键属性,点击安全,设置user
2021-10-19 15:30:13
530
原创 Axios,Jquery-ajax,原生ajax三者发送请求的比较
1.原生ajax默认情况下,Content-Type:text/plain(1)发送表单类型数据 <script src="../js/qs.js"></script> <script> let qs = Qs const baseURL = 'http://139.224.197.133:8888'; const applyData = { name: 'lar...
2021-10-17 15:16:32
244
原创 数组去重的四种算法
1.利用双重for循环实现数组去重let arr = [1,2,3,'hello',4,7,8,1,3,3,4]let unique = (arr) =>{//第一层for循环 数组的前一项for(i=0;i<arr.length;i++){//第二层for循环 数组最后一项for(j=i+1;j<arr.length;j++){if(arr[i]===arr[j]){// 将索引值为j的数组元素删除掉,1表示删除一位元素arr.splice(j,1)
2021-10-12 19:21:52
738
原创 DOM事件机制
事件机制事件是由三部分组成事件源 事件类型 事件处理程序 我们也称为事件三要素 1.事件源:事件被触发的对象 -->按钮对象 2.事件类型:如何触发?触发什么事件?例如鼠标点击,键盘按下等… 3.事件处理程序:通过一个函数赋值的方式执行事件的步骤1.获取事件源2.注册事件(绑定事件)3.采用函数赋值形式添加事件处理程序1.1.事件冒泡(IE事件流)IE 事件流被称为事件冒泡,这是因为事件被定义为从最具体的元素(文档树中最深的节点)开始触发,然后向上传播至没有那么具体
2021-10-12 19:08:56
89
原创 Vue-可复用技术
1.混入混入规则: (1)数据模型中的数据,会进行递归合并,出现同名属性,以组件中的数据为准 (2)同名的构造函数会合并成数组,其中的函数都会调用,混入的钩子执行在前,组件的钩子执行在后 (3)内部对象的合并,类似于components、methods回合并为一个对象,发生冲突时,以组件中的为准 全局混入 Vue.mixin({}) 局部混入 mixins: [mixin]<div id="app"> {{msg}}-{{obj}}-{{attr}} </...
2021-10-12 19:08:08
275
原创 JS数组迭代方法重构--every(),some(),filter(), map(),forEach()
Array.prototype.every()every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。every() 方法使用指定函数检测数组中的所有元素:如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。 如果所有元素都满足条件,则返回 true。注意:every() 不会对空数组进行检测。注意:every() 不会改变原始数组。//every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供Arr...
2021-09-24 11:01:09
124
原创 ERROR Error: Cannot find module ‘vue-loader-v16/package.json‘
出错问题:ERROR Error: Cannot find module 'vue-loader-v16/package.json'Error: Cannot find module 'vue-loader-v16/package.json' at Function.Module._resolveFilename (module.js:555:15) at Function.Module._load (module.js:482:25) at Module.require ...
2021-09-22 15:57:26
456
原创 数组API
(1)数组序列化toString() 在默认情况下都会以逗号分隔字符串的形式返回数组项join() 使用指定的字符串用来分隔数组字符串var arr = [1,5,2,8,10,{a:1}];console.log(arr);//[ 1, 5, 2, 8, 10, { a: 1 } ]console.log(arr.toString());//”1,5,2,8,10,[object Object]”console.log(arr.join(""));//”152810[object Obj
2021-09-04 17:06:48
86
原创 正则表达式
正则表达式的创建有两种方式:(1)字面量创建// 在一对反斜线中写正则表达式内容,如/abc/// 正则表达式里面不需要加引号 不管是数字型还是字符串型var reg = /正则表达式/修饰符;var reg = /hello/g;(2)通过构造函数创建//构造正则表达式的实例,如new RexExp('abc')//内部传入的参数为字符串/字符串的变量var reg =new RegExp("正则表达式","修饰符")var reg =new RegExp("hello","g
2021-08-31 16:59:52
61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人