- 博客(67)
- 收藏
- 关注

原创 和跨域CORS有关的几个请求头和响应头以及预检请求
关于预检请求:我们经常看到请求里偶尔会带着一个OPTIONS请求,这并不是我们人工添加的,为什么会出现呢? 原来在CORS跨域资源共享时,如果这次请求符合预检请求触发条件,就会被认为请求有一定风险,服务器它就不敢主动帮我们接受请求了,就需要由我们指定这次跨域请求哪些安全哪些不安全,所以会比普通cors请求多一步,需要提前通过OPTIONS方法的预检请求,和服务器确认我们的请求符合不符合条件:...
2019-12-12 17:46:01
4921
原创 【Javascript】面试题收集
1. 基本类型和引用类型的区别2. 那些操作会遍历原型上的属性?a. for...in...b. Object.getOwnPropertyNames()3. 哪些操作不会遍历原型链上的属性?a. Object.keys()b. hasOwnPrototype() 4. 内置对象和本地对象的区别5. {} + [] 等于多少6. ES5 和 ES6 分别几种方式声明变量7. new操作符具体干了什么呢?8. 闭包的概念?优缺点?使用场景?9. call,apply,b
2022-03-22 22:34:15
1489
原创 解决flex 配合 justify-content: space-between 自适应导致宽度间距过大的问题
解决方案:给flex容器后面添加和子元素同宽的伪元素 .image-container { display: flex; justify-content: space-between; flex-wrap: wrap; &::after { content: ""; width: 272px; } } }
2020-07-23 17:05:23
5359
原创 vue原理之Watcher:vue的watch和$watch的原理,以及其背后new Watcher的流程
两个参数:第一个参数两种可能:传入被观察对象表达式(字符串),比如'a,b,c' , '$route'如果表达式无法表示需要观察的内容,可以通过函数返回,比如:this.a + this.b第一个参数干什么用的?通过vue源码可得,new Watcher的流程:第一步:拿到第一个参数,如果是函数,直接拿到函数,如果不是函数,转换为函数(parsePath),这个作为getter,先不调用,只备用 // parse expression for getter if (typeo
2020-07-14 22:36:13
1349
转载 element中el-menu的动态变化问题
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> <el-menu-item index="1">处理中心</el-menu-item> <el-submenu index="2"> <template slot="title">我的工作台</template> <el-
2020-07-01 16:55:26
5427
1
原创 Vue、element
表单第一步、打开对话框或者跳转路由,初始化必须清除验证 ????????????????第二步、自定义表单验证规则,必须调用callback() ???????????????????? sealInfoRules: { organization: [ { validator: (rule, value, callback) => { if ...
2020-02-24 00:59:40
264
原创 为什么操作DOM会影响性能?
其实DOM并不慢。添加和删除DOM节点仅需进行内存中 几次指针交换,只不过是在JS对象上设置属性而已。但是,布局缓慢。当你以任何方式操作DOM 时,你会在整个树上设置一个标记,以告诉浏览器它需要操作哪里。当JS将控制权交还给浏览器时,它会调用其布局算法(或更确切地说,会调用其CSS recalc算法,然后进行布局,然后重新绘制,然后重新合成)以重新绘制屏幕。...
2020-02-01 20:36:09
568
原创 Vue中v-mode.lazy修饰符理解以及onchange事件和oninput事件的区别
一. onchange事件和oninput事件的区别:oninput事件是在用户每次输入时触发onchange事件是在输入框失去焦点时候触发二. Vue中的lazy修饰符:官方原话: 在默认情况下,v-model 在每次 input事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时...
2020-01-31 15:58:45
2258
原创 x-www-form-urlencoded到底是什么?
概述:x-www-form-urlencoded纸面翻译即所谓url格式的编码,是post的默认Content-Type一、位置:请求头內的Content-Type字段里,二、写法:Content-Type:application/x-www-form-urlencoded三、用处:get请求的请求体格式是什么?get请求是拼接在url后面请求的,一般如此username=to...
2019-12-11 23:14:30
37095
原创 浏览器缓存机制学习
确定缓存是否过期的几个阶段:铺垫:一、缓存存在哪里?大家可以按照路径打开:C:\Users\这里是你的用户名\AppData\Local\Google\Chrome\User Data\Default\Cache里面这些没有后缀的文件就是二进制缓存文件了,不是我认为的直接放图片文件视频文件:二、缓存文件都存了什么?这个直接打是打不开的,网上可以找到软件 ChromeCacheVie...
2019-11-13 18:47:53
180
原创 MongoDB 聚合操作 aggregate
MongoDB聚合 aggregate聚合操作就是把源数据集放到管道里加以处理得到统计后的结果db.collectionName.aggregate([{ 管道 :{ 表达式 }}])常用管道:$group:给集合的文档分组,可用于统计结果,相当于GROUP BY$match:过滤数据,只输出符合条件的文档,相当于HAVING$project:选出来原始文档中的某些字段$sort...
2019-11-09 23:54:35
692
原创 Mongodb 基本API操作
查询:db.collection.find({age:28})[2]:find返回的是数组,可以根据索引获取db.collection.findOne({age:28}).name:findOne返回的是对象,可以点语法获取值db.collection.find().count():获取符合条件的文档数量限制获取文档数量上限:db.collection.find().skip(10),l...
2019-11-09 18:53:57
603
转载 微信小程序如何返回上一页并传参
itemClick: function(e) { let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; prevPage.setData({ message: e.currentTarget.dataset.ms...
2019-11-03 00:22:23
1242
1
原创 Electron出现 Cannot read property 'on' of undefined报错
出现问题:正确安装electron之后,复制了官方代码:const { app, BrowserWindow } = require('electron')console.log(electron)function createWindow () { // 创建浏览器窗口 let win = new BrowserWindow({ width: 800, h...
2019-09-30 18:00:04
8338
原创 为什么java的除法/会自动取整、不保留小数呢?
今天看视频教程,取一个数的十位数字,公式是i / 10 % 10最后结果就是十位所在数字,我按照同样的方法用js操作一遍360 / 10 % 10,发现结果并不是整数,这我就有点奇怪了,居然不一样,在网上找了一阵,果然发现:在java內,除法运算/的功能是有区别的:1、如果相除的两个数都是整数,那么结果也是整数,这叫做取整除法。比如,3/2,结果是1。2、如果其中有一个是浮点数,那么就是...
2019-08-26 22:28:14
7194
1
原创 工作总结
1、如何查找表格:URL:/getReportTable/report_dws_wdtb_citygrid_od_msk_d.do?typechart=1&fieldNameEN=requestType1,requestType2,dts&fieldVal=1,dws_wdtb_citygrid_od_msk_d,20190320-20190320针对于当前接口:repor...
2019-08-23 18:47:01
140
转载 webpack4之splitChunks和runtimeChunk
为什么要用splitChunkswebpack4之前使用CommonsChunkPlugin提取公共代码,但是CommonsChunkPlugin存在以下三个问题:1:产出的chunk在引入的时候,会包含重复的代码;2: 无法优化异步chunk;3:高优的chunk产出需要的minchunks配置比较复杂。为了解决这些问题,webpack4中用splitchunks替代了CommonsC...
2019-08-09 15:43:40
5070
原创 npm包@babel/core、@babel/preset-env中的@是什么意思
看下官方文档:这个@babel是私有包的表示方法(私有又分公开私有和私密私有,私密私有是要收费的)翻译过来就是 @后面接的是个scope 一个作用区域,也可以是说这个包的归属者,防止包名称被提前占用,比如防止以前 babel-core 这个包名可能被人提前占用了,而babel官方还想使用那就可以把包放在自己的作用区域下,@组织名(babel)/属于该组织的包名(core)...
2019-08-04 23:23:34
2776
原创 babel从入门到进阶只需搞定这几个包
安装babel:babel目前需要安装 @bable/core 和 @babel/preset-env ,在webpack上还需要安装babel-laoder@bable/core :这个比较好理解,就是babel的核心文件@babel/preset-env:babel预置器,这个预置器大概有一下几种版本:es2015es2016es2017 env //包括上...
2019-08-04 22:59:15
611
转载 20个js方法原理的实现
1. 实现一个call函数// 思路:将要改变this指向的方法挂到目标this上执行并返回Function.prototype.mycall = function (context) {if (typeof this !== ‘function’) {throw new TypeError(‘not funciton’)}context = context || windowcon...
2019-07-30 14:19:35
181
原创 站在新手角度解除webpack的入门解惑教程
我自己在早期对于webpack知识的稀里糊涂的使用里遇到的困惑,我希望能系统化梳理出来,尽最大可能帮助大家解除疑惑。Pre、几个预备知识:1、webpack使用的是cjs(CommonJs)也就是module.exports输出require()引入;2、npx是辅助npm的,用处是即使不全局安装webpack-cli,也能在终端(CMD)中使用:npx webpack --entry=i...
2019-07-25 01:38:21
210
原创 javascript:parseInt用法,特殊用法,进制转换
parseInt( string,radix )功能:将 [ 指定进制的 ] 字符串转换为十进制整数型 参数:1、string: 要解析的字符串,类型:String2、radix: 以什么进制解析该字符串,不传和传0结果一样,类型:Number 返回值:1、第二个参数传0和不传一样:2、返回NaN的几种情况:3、特殊字符串转换:以0x开头的字符串,p...
2019-07-23 01:28:43
834
原创 JSON.stringify常用用法、可转换类型、灵活用法
能处理的(安全JSON):字符串、数字、布尔值和null的JSON.stringify()转换以后,结果都是字符串('aa','33','null','true')不能处理的(不安全JSON):undefined,function,symbol,循环引用的对象(自己里面引用了自己)2、JSON.stringify在转换之前,如果传入对象中的有.toJSON()方法,会先调用toJSON()...
2019-07-16 01:19:57
1073
原创 js 隐式转换(相等判断)规则
1、所有类型和布尔类型判断相等,布尔类型都会先转为数值类型(0和1);2、对象和非布尔值的普通类型比,对象会拆封或转为字符串;3、字符串和数字比较会把字符串转换为数字;4、null == undefined ,其他都不相等5、[] == false; -> [] == 0 // false [] == '' //true [0] == 0 // true...
2019-07-04 18:28:49
456
原创 绝对定位position:absolute下,父元素高度塌陷/无法撑开父盒子的原因和解决方案
我一直很困惑绝对定位后父盒子的高度会变为0,如何让绝对定位的元素撑开父盒子呢?我在StackOverflow上找到的高分解决方案如下:Absolutely positioned elements are completely removed from the document flow, and thus their dimensions cannot alter the dimensions...
2019-06-23 01:24:20
47293
12
原创 《应该补上的一课》读书笔记
第一章:说出看到了什么:行之有效的策略:不存在绝对的客观性;我们都是透过有色眼镜观察生活;适用于我的并不一定适用于其他人;我们总是表现的处事肯定,但实际上并没有很大把握;看待事物时,必须持有“我还不知道”这一立场;改变我对他人的看法比改变他人的看法更容易;行之无效的策略:我所见的就是真实的:我所知道的就是正确的;我所感受到的就是肯定的;我所想到的就是确实的;我看到的...
2019-05-19 15:50:09
333
原创 CMD最常用命令
新建文件夹:MD 文件夹名查看当前文件夹内所有文件和文件夹:dir /s新建文件:cd.>test.js注释:cd.表示当前文件夹 ,>表示把大于号前面内容写入到后面的test.js文件打开文件:直接敲上文件名+.后缀即可...
2019-05-12 00:49:01
107
原创 echarts之map常用属性
option = { color: ['#B0EEF4', 'yellow', '#d8e050'], tooltip: { trigger: 'item', // 数据项图形触发方式,主要在散点图,饼图等无类目轴的图表中使用。 formatter: format //函数,提供参数params,返回的是tip上的h...
2019-02-14 15:29:26
13823
2
原创 NodeJs 教程 - http模块
http模块就是编写操作服务器的使用:var http = require('http')常用:1、创建web服务器:var server = http.createServe():返回一个Server实例server.on('request' , function(request,response){}):注册request事件,触发服务器的request事件,回调函数处理接收到的...
2019-02-13 23:21:45
153
原创 Node.js 教程 - fs模块
使用:var fs = require(‘fs’)常用:1、读取文件:fs.readFile():readFile方法读取到的data是二进制,被转换为十六进制,需要通过toString()转换为字符串,注意:如果读不到文件,尝试使用 path.resolve(__dirname,'./example.txt' )2、写文件:fs.writeFile():用法:fs.writeFi...
2019-02-12 23:10:20
229
原创 JS判断是否是移动端
let isMobile = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);
2019-02-12 17:29:50
2139
原创 前端常用的Node模块方法
1、glob模块,glob.sync(’./src/*/main.js’) :获取文件路径名2、fs模块:fs.readFilefs.writeFilefs.unlinkfs.existsfs.mkdir
2019-02-12 17:13:02
351
转载 JS和CSS变量共享、主题颜色设置
JS 和 CSS 变量共享。关于 JS 和 Sass/Less 变量共享,我们摸索出了自己的解法:// src/styles/variables.jsmodule.exports = { // 主颜色 'primary-color': '#0C4CFF', // 出错颜色 'error-color': '#F15533', // 成功颜色 'success-color'...
2019-02-12 14:54:52
1164
原创 Java入门-概览/类和对象
1、java文件内只能有一个public类,2、一个类对应一个.class文件3、public类名必须和文件名一致4、main方法是入口方法,有固定格式
2019-01-29 16:14:53
115
原创 Angularjs笔记之 - factory,service,provider的区别
Factory作用就是返回一个有属性有方法的对象举例用于AJAX请求:angular. module('core.phone'). factory('Phone', ['$resource', function($resource) { return $resource('phones/:phoneId.json', {}, { query: {...
2019-01-10 17:01:37
222
原创 CSS笔记-如何让带阴影盒子占满整个区域且不出现滚动条
在使用elementUI的card时候,发现如果内容高度设置了100%,虽然会全部撑开card盒子,但是下阴影会超出整个区域高度,导致出现滚动条,可以为内容设置calc(100% - 阴影尺寸),但是兼容性可能会有欠缺,所以我们使用一个万金油方法:position:absolute我们知道如果想上下左右居中一个盒子,.center-box{ postion:absolute; ...
2018-12-20 16:27:22
863
原创 webpack打包typescript在Checking started in a separate process...等待时间过长的解决方案
我在根目录写了tsconfig.json{ "compilerOptions": { "outDir": "./dist/", "sourceMap": true, "noImplicitAny": true, "module": "commonJS", "target&
2018-12-02 01:47:20
739
原创 前端常用正则表达式
// 常用的正则规则// eslint-disable-next-lineexport const regExpConfig = { IDcard: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([...
2018-11-27 18:37:37
209
翻译 Web动画优化之requestAnimationFrame的使用(翻译)
本文翻译自:https://css-tricks.com/using-requestanimationframe/ ,如有侵权,请联系我!我先来一句话概括一下:这个方法就是让动画按照屏幕刷新频率执行,这样就可以显得很流畅。引入以前JavaScript只有一种时间间隔循环的方式:setInterval()。如果你需要以特别快的速度(不是像for循环那样极致快)重复一些内容,你可以使用set...
2018-11-25 21:14:07
402
原创 日常兼容性问题记录
1、窗口滚动上卷高度:为了跨浏览器兼容,请使用 window.pageYOffset 代替 window.scrollY。另外,旧版本IE(&amp;amp;lt;9)两个属性都不支持,必须使用其他的非标准属性。完整的兼容性代码如下:完美兼容写法:var supportPageOffset = window.pageXOffset !== undefined;var isCSS1Compat = ((do...
2018-11-25 13:07:35
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人