03 2020 档案
摘要:GET和POST的区别: get参数通过url传递,post放在request body中。get请求在url中传递的参数是有长度限制的,而post没有。 get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。 get请求只能进行url编码,而post支持多种编码方式 ge
阅读全文
摘要:主流浏览器内核有哪些,对应的私有属性css前缀是什么? mozilla内核 (firefox,flock等) -moz webkit内核(safari,chrome等) -webkit opera内核(opera浏览器) -o trident内核(ie浏览器) -ms
阅读全文
摘要:介绍一下盒模型? 1.有两种,IE盒子模型、W3C盒子模型; 2.盒模型:内容(content)、填充(padding)、边界(margin)、边框(border); 3.区别:IE的content部分把border和pading计算了进去。
阅读全文
摘要:css选择符与属性继承 选择符:1.id选择器(#myid) 2.类选择器(.myclassname) 3.标签选择器(div,h1,p) 4.相邻选择器(h1+p) 5.子选择器(ul>li) 6.后代选择器(lia) 7.通配符选择器(*) 8.属性选择器(a[rel="external"])
阅读全文
摘要:1、dateFormater:格式化时间 function dateFormater(formater, t){ let date = t ? new Date(t) : new Date(), Y = date.getFullYear() + '', M = date.getMonth() + 1
阅读全文
摘要:1、camelize:横线转驼峰命名 let camelizeRE = /-(\w)/g; function camelize(str) { return str.replace(camelizeRE, function(_, c) { return c ? c.toUpperCase() : ''
阅读全文
摘要:1、isPlainObject:判断数据是不是Object类型的数据 */ function isPlainObject(obj) { return Object.prototype.toString.call(obj) '[object Object]' } /** 2、isArray:判断数据是
阅读全文
摘要:/* 《正确填写票据和结算凭证的基本规定》 银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、
阅读全文
摘要://银行卡号按4位一空格显示( 使用 onkeyup(setBankNoStyle(this.value)) ) function setBankNoStyle(BankNo) { var lKeyCode = (navigator.appname == "Netscape") ? event.wh
阅读全文
摘要:选取DOM元素的方法注意:原生JS选取DOM元素比使用jQuery类库选取要快很多1、通过ID选取元素document.getElementById('myid');2、通过CLASS选取元素document.getElementsByClassName('myclass')[0];3、通过标签选取
阅读全文
摘要:删除数组中存在重复的元素 function getUnique(someArray) { tempArray = someArray.slice(0); //复制数组到临时数组 for (var i = 0; i < tempArray.length; i++) { for (var j = i +
阅读全文
摘要:angular 中 service 服务三种方式是什么?区别是什么? Factory :把 service 的方法和数据放在一个对象里,并返回这个对象。 Service:通过构造函数方式创建 service,返回一个实例化对象。 Provider:创建一个可通过 config 配置的 service
阅读全文
摘要:Angular 和 vue 的优缺点,你是怎么看待的 一、Vue: 优点: 1. 简单:官方文档很清晰,比 Angular 简单易学。 2. 快速:异步批处理方式更新 DOM。 3. 组合:用解耦的、可复用的组件组合你的应用程序。 4. 紧凑:~18kb min+gzip,且无依赖。 5. 强大:表
阅读全文
摘要:angular 自定义指令中 restrict 可以怎么样设置,分别是什么意思?Scope 中@,=,& 有什么区别?怎么实现与父级别作用进行交互? restrict 属性,来决定这个指令是作为标签(E)、属性(A)、属性值(C)、还是注释(M)。 Scope 1 false(默认值):直接使用父
阅读全文
摘要:// 处理路由拦截器 导航守卫 import router from '../router' import progresss from 'nprogress' import 'nprogress/nprogress.css' // 全局前置守卫 当 路由发生变化时 这个方法里的回调函数就会执行 r
阅读全文
摘要:import Vue from 'vue' import Vuex from 'vuex' import { setItem, getItem } from '@/utils/storage' import decodeJwt from 'jwt-decode' Vue.use(Vuex) expo
阅读全文
摘要:export const setItem = (name, value) => { if (typeof value 'object') { value = JSON.stringify(value) } window.localStorage.setItem(name, value) } expo
阅读全文
摘要:/** * 封装 axios 请求模块 */ import axios from 'axios' import jsonBig from 'json-bigint' import store from '@/store' import router from '@/router' import {
阅读全文
摘要:/** * 封装自定义 dayjs 日期处理模块 */ import dayjs from 'dayjs' import rTime from 'dayjs/plugin/relativeTime' import 'dayjs/locale/zh-cn' // 全局使用中文 dayjs.locale
阅读全文
摘要:tcp和udp区别 tcp只能一对一通信,udp可以一对一、一对多、多对多通信,即支持多播和广播; tcp首部开销消耗32字节,udp仅消耗8个字节; tcp适合对数据安全性要求高的场景,比如文件传输,udp适合对数据实时性要求高的场景,比如视频通话、语音通话; tcp是有状态连接,udp是无状态的
阅读全文
摘要:xss和csrf xss跨站脚本攻击,指攻击者在网页上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时, 对客户端浏览器进行控制或获取用户隐私数据的方式 防范:httpOnly防止截取cookie、用户输入检查、用户输出检查、利用CSP(浏览器的内容安全策略) csrf跨
阅读全文
摘要:webpack 可以使用 loader 来预处理文件。这允许你打包除 JavaScript 之外的任何静态资源。你可以使用 Node.js 来很简单地编写自己的 loader。 babel-loader 告诉webpack我想要对我的js代码进行兼容性编译 具体配置文件可以新建新建.babelrc,
阅读全文
摘要:路由传参 Vue-router路由传参主要有两种: 1、查询参数 使用对象{name:'path', query:{id:'213', data:'我是参数数据'}} 2、路由参数 使用对象{name:'path', params:{foo:'bar'}},使用路由传参,需要在router路由配置的
阅读全文
摘要:首先你要熟悉vue-cli2.0 1.项目目录结构 可以明显的看出来,vue-cli2.0与3.0在目录结构方面,有明显的不同(vue3.0我是安装了css预处理器,所以看上去内容更丰富哈) vue-cli3.0移除了配置文件目录,config 和 build 文件夹 同时移除了 static 静态
阅读全文
摘要:assets (资产;优点;有用的东西)与static区别 相同点 >assets文件夹和static文件夹在vue-cli生成的项目中,都是用来存放静态资源的。 不同点 > assets目录中的文件会被webpack处理解析为模块依赖,【只支持相对路径形式】。build的时候由Webpack解析为
阅读全文
摘要:webpack性能优化 优化可以从两个方面考虑,一个是优化开发体验,一个是优化输出质量。 优化开发体验 缩小文件搜索范围。涉及到webpack如何处理导入文件,不再赘述,不会的可以自行搜索。由于loader对文件转换操作很耗时,应该尽量减少loader处理的文件,可以使用include命中需要处理的
阅读全文
摘要:webpack运行流程 分为初始化、编译、输出三个阶段. 初始化: 从配置文件和shell文件读取、合并参数; 加载plugin 实例化compiler 编译 从entry发出,针对每个module串行调用对应loader翻译文件内容 找到module依赖的module,递归进行编译处理 输出: 把
阅读全文
摘要:vnode的diff算法原理 虚拟dom是对真实dom的一种映射,新旧Vnode比较同层级的节点,然后根据两者的差异只更新有差异的部分,生成新的视图,而不是对树进行逐层搜素遍历,因此时间复杂度是O(n)。虚拟dom可以减少页面的回流和重绘,提升性能
阅读全文
摘要:1.css-loader 的作用是处理css中的 @import 和 url 这样的外部资源 2.style-loader 的作用是把样式插入到 DOM中,方法是在head中插入一个style标签,并把样式写入到这个标签的 innerHTML里 loader的原理 loader能把源文件翻译成新的结
阅读全文
摘要:1.beforeCreate 初始化界面前 2.created 初始化界面后,拿到data,props,methods、computed和watch 3.beforeMount 渲染dom前 4.mounted 渲染dom后,拿到$el 5.beforeUpdate 更新前 6.updated 更新
阅读全文
摘要:浏览器事件循环和node事件循环 浏览器事件循环: 同步任务在主线程执行,在主线程外还有个任务队列用于存放异步任务 主线程的同步任务执行完毕,异步任务入栈,进入主线程执行 上述的两个步骤循环,形成eventloop事件循环 浏览器的事件循环又跟宏任务和微任务有关,两者都属于异步任务。 js异步有一个
阅读全文
摘要:回流和重绘区别 回流:当渲染树中元素尺寸、结构或者某些属性发生变化时,浏览器重新渲染部分或全部页面的情况叫回流。下列元素改变引发回流: getBoundingClientRect() scrollTo() scrollIntoView()或者scrollIntoViewIfneeded client
阅读全文
摘要:Less 原理 Less 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。 Less 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。先看一个
阅读全文
摘要:hash模式:在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location.hash读取;特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。hash 模式下,仅 hash 符号之前的内容会被包含在请求中
阅读全文
摘要:首先作为开发,当我们有需求的时候,我们需要和后端合作开发,但是后端只定义好了接口,和接口字段没有开发完,这个时候 我们前端开发要mock一下数据,不能直接用本地的json文件,我们应该用ajax或者别的请求来获得数据,因为浏览器本身的同源策略的影响,会有跨域的问题,以下是本地开发解决跨域问题的方法
阅读全文
摘要:跨域的几种方式 同源策略 同源策略中的源指的是URL,比如说,对于一个完整的URLhttp://www.jianshu.com:80/p/bc7b8d542dcd#sample?query=text 这里的同源指的是URL中prototype协议、host域名、port端口这三个部分相同。简单来说,
阅读全文
摘要:vue中scoped的作用: 实现组件的私有化, 当前style属性只属于当前模块. 但是当我们使用公共组件的时候会造成很多困难. scoped的实现原理: 在DOM结构中可以发现,vue通过在DOM结构以及css样式上加了唯一标记,达到样式私有化,不污染全局的作用, 可以看出,加上scoped后的
阅读全文
摘要:href与src的区别1、请求资源类型不同:href 指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的联系。在请求 src 资源时会将其指向的资源下载并应用到文档中,比如 JavaScript 脚本,img 图片;2、作用结果不同:href 用于在当前文档和引用资源之间确立联系;
阅读全文
摘要:key 预期:number | string key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法。而使用 key 时,它会基于 key 的变
阅读全文
摘要:总结一下伪类与伪元素的特性及其区别: 伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 伪元素本质上是创建了一个有内容的虚拟容器; CSS3中伪类和伪元素的语法不同; 伪类 :link :hover 伪元素 ::before ::after 可以同时使用多个伪类,而只能同时使用一个伪
阅读全文
摘要:event bus Vue项目中,需要实现这样一个功能:从列表页点击新建或编辑进入新建、编辑页面,新建、编辑完成后需要关闭当前的新建和编辑tab,而tab的关闭则是由项目中的tag组件控制的, 新建和编辑组件与tag组件并无父子关系,因此无法用父子组件传递数据,所以想到了用event bus来实现。
阅读全文
摘要:link和@import的区别 区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载 CSS。 区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。 区别3:link是XHTML标签,无兼容
阅读全文
摘要:Vue 的父组件和子组件生命周期钩子执行顺序 渲染过程:父组件挂载完成一定是等子组件都挂载完成后,才算是父组件挂载完,所以父组件的mounted在子组件mouted之后。父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子cr
阅读全文
摘要:1、居中问题div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto;2、高度问题两上下排列或嵌套的div,上面的div设置高度(height),如果div里的实际内容大于所设高度,在FF中会出现两个div重叠的现象;但在IE中,下面的div会自动给上面的di
阅读全文
摘要:单页面应用程序(SPA)的优缺点 我们通常所说的单页面应用程序通常通过前端框架(angular、react、vue)进行开发,单页面应用程序将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript 和 CSS。一旦页面加载完成了,SPA不会因为用户的操作而
阅读全文