04 2021 档案
摘要:计算属性computed: 支持缓存,只有依赖数据发生改变,才会重新进行计算 不支持异步,当computed内有异步操作时无效,无法监听数据的变化 computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到
阅读全文
摘要:生命周期的钩子一共分为8个阶段:创建前后、载入前后、更新前后、销毁前后 创建前/后: beforeCreate(创建前):vue实例的挂载元素$el和数据对象 data都是undefined, 还未初始化 created (创建后) :实例创建完成后,完成了 data数据初始化, 但是el还未初始化
阅读全文
摘要:####经常会忘了怎么写,很多小细节,所以记录一下 通过对象语法和数组语法进行动态绑定 数组语法就是:三元运算符动态绑定class 数组与三元运算符结合判断选择需要的class 注意:三元运算符后面的“:”两边的class需要加上单引号,否则不能正确渲染 :class="[isActive?'act
阅读全文
摘要:堆与栈实际上是操作系统对进程占用的内存空间的两种管理方式,主要有如下几种区别: (1)管理方式不同。栈由操作系统自动分配释放,无需我们手动控制;堆的申请和释放工作由程序员控制,容易产生内存泄漏; (2)空间大小不同。每个进程拥有的栈的大小要远远小于堆的大小。理论上,程序员可申请的堆大小为虚拟内存的大
阅读全文
摘要:箭头函数的this值在声明时就确认了,普通函数的this值,在调用的时候确认 call、apply、bind不会改变箭头函数this值,会改变普通函数this值 箭头函数不能作为构造函数使用,不能使用new 箭头函数没有原型属性 箭头函数不绑定arguments,取而代之用rest参数... 解决
阅读全文
摘要:CommonJs模块的require()是同步加载模块,ES6模块的import命令是异步加载模块 CommonJs模块是运行时加载,ES6模块是编译时加载或静态加载 CommonJs模块加载有缓存,ES6模块加载没有缓存 CommonJs模块输出的是一个值的复制,ES6模块输出的是值的只读引用 C
阅读全文
摘要:首先要知道箭头函数this值得指向。箭头函数的this值始终指向函数声明时作用域下的this值。 普通函数this值要调用时确定,可以看去我的JavaScript函数this值指向文章。 setTimeout会延迟函数的声明,将函数的this值改为window,但是改变不了箭头函数的this的值。
阅读全文
摘要:同源策略: 浏览器自带的一种安全策略,他是指协议、域名、 端口 三个都相同的才能互相访问。 什么是跨域: 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 实现跨域: 1. CORS CORS背后的思想,就是使用自定义的HTTP头部
阅读全文
摘要:要解决这个问题,首先要知道Promise.all是什么? Promise.all() 它接收一个promise对象组成的数组作为参数,并返回一个新的promise对象。 当数组中所有的对象都resolve时,新对象状态变为fulfilled,所有对象的resolve的value依次添加组成一个新的数
阅读全文
摘要:1. let const let 表示申明变量。const 表示申明常量。 常量定义了就不能改了。对象除外,因为对象指向的地址没变。 const在申明是必须被赋值。 两者都为块级作用域。 块级作用域与函数作用域。任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可
阅读全文
摘要:这是面试常问的题目。今天就来彻底搞明白水平垂直居中的方法 一共七种方法,前两种是定宽高才能用的,后面五种不管需要垂直居中的元素有没有宽高都可以垂直居中。flex和table-cell和grid都需要有父元素的宽高,也就是说不能直接在body中水平垂直居中。 <body> <div class="co
阅读全文
摘要:基本概念: 采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。 容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边
阅读全文
摘要:1.static position的默认值,没有定位,元素出现在正常的文档流中 2.relative 相对定位,相对于正常位置定位,不会脱离文档流 3.absolute 绝对定位,相对于最近的定位不为static的父元素进行定位。脱离了文档流 4.fixed 固定定位,相对于浏览器窗口定位,不会跟随
阅读全文
摘要:some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。返回值为布尔类型 some() 方法会依次执行数组的每个元素: 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。 如果没有满足条件的元素,则返回false。 注意: some() 不会对空数组进行检测。
阅读全文
摘要:函数申明:function fn() 函数表达式:const fn = function() 函数申明会在代码执行前做预加载,而函数表达式不会。 //先调用再定义函数申明是可以的 fn(1,2) function fn(a, b) { console.log(a+b) } //这样是不行的,函数表达
阅读全文
摘要:
阅读全文
摘要:JavaScript中object和Object有什么区别,为什么用typeof检测对象,返回object,而用instanceof 必须要接Object呢? 有两个问题需要明白: 一个是运算符new的作用机制, 一个是function关键字和Funtion内置对象之间的区别。 new new运算符
阅读全文
摘要:行内元素: <span> <a> <i> <img> <button <input> <select> <strong> 粗体强调 <q> 段引用 <lable> 表格 块元素: <div> <h1>-6 <p> <form> <table> <ol> <ul> <li> <hr> 水平分割线 <c
阅读全文
摘要:1.XSS跨站请求攻击 预防xss攻击 2.XSRF跨站请求伪造 预防XSRF攻击
阅读全文
摘要:防抖: 在输入框中,可以使用防抖 //手写防抖 function debounce(fn, delay = 500) { let timer = null return function() { if(timer) { clearTimeout(timer) } timer = setTimeout
阅读全文
摘要:1.父元素设置:text-align : center; 2.转化成块元素并设置宽度,设置margin : 0 auto; <div class="box"> <!-- <input id="input1" type="text"> --> <sapn id="input1">22222</sapn
阅读全文
摘要:状态码: 1xx:服务器收到请求 2xx:请求成功 200成功 3xx:重定向 301永久重定向; 302临时重定向; 304资源未被修改 4xx:客户端错误 403没有权限; 404资源未找到 5xx:服务端错误 500服务器错误; 504网关超时 Restful API 一种新的API设计方法
阅读全文
摘要:// const xhr = new XMLHttpRequest() // //true支持异步 // xhr.open('get', '/work1/javascript/ajax/ziyuan.json', true) // xhr.onreadystatechange = function(
阅读全文
摘要:DOM是树结构 property: 修改对象属性,不会体现到html中(通过style改变节点的样式,不会加入html行内样式) attribute: 修改html属性,会改变html结构(setattribute,getattribute) 两者都有可能会引起DOM重新渲染 DOM操作非常昂贵,很
阅读全文
摘要:Event Loop即事件循环,是指浏览器或Node的一种解决javaScript单线程运行时不会阻塞的一种机制,也就是我们经常使用异步的原理。 stack:栈 web apis:定义的api call stack:调用栈 callback queue:回调队列 event loop:事件轮询 同步
阅读全文
摘要:promise有三种状态: pending 挂起 resolved rejected then正常状态返回resolved,里面有报错则返回rejected catch正常则返回resolved,里面有报错则返回rejected 只要是resolved状态后面的then都会继续执行下去 抛出错误会执
阅读全文
摘要:####项目中的接口除了登录之外大多数都需要提供 token 才有访问权限 方式一:在每次请求的时候手动添加(麻烦)。 axios({ method: "", url: "", headers: { Authorization: "Bearer token" } }) 方式二:使用请求拦截器统一添加
阅读全文
摘要:####login时获取了两个token,一个token,一个refresh_token,当token过期时,通过refresh_token再请求新的token,存到本地存储中。 // 响应拦截器 request.interceptors.response.use( // 响应成功进入第1个函数 /
阅读全文
摘要:router.push 和 router.replace都是路由跳转 区别在于 router.push 会产生历史记录 router.replace不能回退 router.replace 不会产生历史记录,在跳转到登陆页面的时候使用router.replace,使用router.push没有意义。
阅读全文
摘要:####原型与原型链的概念 原型: 我们创建的每个函数都有一个 prototype(原型) 属性,这个属性指向一个对象,而这个原型对象包含它的实例对象所共享的属性和方法。 图解: 每一个构造函数都拥有一个 prototype 属性,这个属性指向一个对象,也就是原型对象 原型对象默认拥有一个 cons
阅读全文
摘要:####margin的纵向重叠问题 相邻元素的margin-top和margin-bottom会发生重叠 空白内容的p标签也会重叠 ####margin负值问题 margin-top和margin-left负值,元素会向上和向左移动 margin-right负值,右侧元素会向左移动,自身不受影响 m
阅读全文
摘要:###水平居中 inline行内元素:其父元素设置 text-align: center block块元素: margin: auto(自身要有宽度) absolute: left: 50% + margin-left负值(自身宽度一半) ###垂直居中 inline元素: line-height:
阅读全文
摘要:BFC:Block format context 块级格式化上下文 一块独立的渲染区域,内部元素的渲染不会影响边界以外的元素。 它属于普通流,即:元素按照其在 HTML 中的先后位置至上而下布局,在这个过程中,行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行,除非另外指定
阅读全文
摘要:**什么是闭包:**有权访问另一个函数作用域中变量的函数。 简单来说就是一个作用域可以访问另一个函数内部的局部变量。 闭包的作用: 隐藏变量,避免全局污染 可以读取函数内的变量 同时闭包使用不当,优点就变成了缺点: 缺点1:导致变量不会被垃圾回收机制回收,造成内存消耗 缺点2:不恰当的使用闭包可能会
阅读全文
摘要:函数的this指向,函数this的确定是在函数执行的时候确认的不是在函数定义的时候确认的 自由变量的查找,是在函数定义的地方查找,向上级作用域查找,不是在执行的地方查找。 ####第一个打印的this.count是1,第二个是一个坑,第二个打印的是undefined ####这个打印结果是4个4 l
阅读全文
摘要:什么是正则表达式: 正则表达式是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。 正则表达式的作用: 正则表达式通常用来检、替换那些符合某个模式(规则)的文本。 例如:验证表单、敏感字替换、或从字符串中提取我们想要的部分。 正则表达式的使用 1.利用RegExp对象来创
阅读全文
摘要:1.Body参数使用data设置 /** * 修改地址 */ export const updateAddress = (id,newAddress) => { return request({ method: 'patch' ,url: `/api/user/address/${id}` ,dat
阅读全文