- 博客(50)
- 收藏
- 关注
原创 CSS动画transform的偏移translate、拉伸skew、缩放scale、旋转rotate、perspective透视
transform的介绍:为CSS元素添加偏移、拉伸、旋转、缩放等效果几个属性值常用四个2D视觉效果属性----translate、skew、scale、rotate.box { transform: translate(10px, 20px) //在x轴向右平移10个像素点,y轴向下平移20个像素点 transform: translate(20%, 20%) /...
2019-04-26 18:41:06
8259
原创 文件下载---Blob对象
怎么解决不用浏览器的文件下载的兼容问题?对于在前端下载文件,如果是非图片文件可以利用window.open(url)直接打开。但是如果是图片资源的下载的话,open方法会另开一个页面显示图片而不是下载图片。因此对于图片的下载需要另外处理。1》利用a标签的download属性,直接点击a标签可以下载该图片,注:当使用a标签 的download属性进行下载时,支持的浏览器只有火狐和谷歌<...
2019-04-23 16:28:50
1631
原创 非父子组件之间的三种传值办法
非父子组件之间的传值兄弟组件的传值:总线—发布订阅者—观察者模式Vue.prototype.属性 = new Vue(),使Vue的原型上的属性等于Vue实例<div id="root"> <child content="miss"></child> <child content="mos"></child>&l...
2019-04-22 12:29:32
3759
原创 JS和jQuery实现文件上传、content-type值的理解
文件上传-----JS实现过程利用了formData对象+XMLhttprequest实现。-------**new formData();**创建formdata对象,该对象可以将数据编译为键值对,以便XMLhttprequest对象进行发送。给formData追加数据,formdata. append(‘key’, value)当是一个form表单元素时,可以将表单元素作为参数传递给f...
2019-04-20 18:29:33
4395
原创 session和sessionID以及cookie的关系
session的建立session存在于服务器中,需要有httpservletrequest的request对象调用getsession方法来创建session对象,request.getSession(true) 调用session,.为true时表示可以创建一个session。eg: HttpSession session = request.getSession();tomcat服务器...
2019-04-16 12:32:10
9205
3
原创 算法之动态规划类型DP
动态规划类型题简单类型的DP:fibonacci递推、背包、LIS最长递增序列、LCS最长公共子序列区间DP:括号匹配、回文串树形DP:选出权重和最大的节点走格子----棋盘类的DP例题:机器人在一个m*n的棋盘上左上角,需要移动到棋盘的右下角,但是只能向下和向右移动,请问有多少条路径可以达到右下角的位置?动态规划的核心思想是将大问题拆解为小问题-----**大问题拆分:**棋盘问题...
2019-04-15 17:02:53
287
原创 vuex
vuex的作用,状态管理工具,可存储所有组件的公共状态,可以解决多个子组件通信问题。组件通过dispatch方法调用actions对象里面的方法,actions通过commit方法调用mutation对象里面的方法,mutation利用mutate改变state。state改变会改变组件的视图变化。1.安装:npm install vuex --save2.安装后重启 npm run dev...
2019-04-11 12:07:01
174
原创 vue中使用CSS预处理器
常见的stylus、sass、LESSvue中常用的是stylus,因为来源于node.js,与JS关系密切,语法灵活、方便易用。使用stylus可以使用变量、函数、循环来编写CSS样式文件。stylus使用方法:npm install stylus编辑器中按照stylus插件初次使用stylus命令 vue init webpack stylus----cd stylus...
2019-04-11 11:30:48
3154
转载 移动端一像素四种解决方案
移动端的问题样式reset统一标签样式呈现效果300ms点击延迟问题移动端的一像素边框问题即在移动端的CSS写了1px,实际上显示会比1px粗。border: solid 1px;在移动端的HTML的header中添加下述代码,意思是本页面的viewport宽度为设备宽度,初始缩放值和最大缩放值是1,禁止用户缩放。< meta name=“viewport” content=“...
2019-04-01 20:11:57
4655
1
原创 Vue中CSS动画原理、js动画以及多个动画transition
Vue transition动画效果对于transition包裹的内容有效如果需要使得某个DOM元素有动画效果,可以将该元素用transition包裹起来,然后对于写CSS样式如 enter、leave-to、enter-active、leave-active。transition name=“命名xx”那么style CSS对应为 .xx-enter即前缀为xx,如果transition没...
2019-03-30 21:20:55
800
原创 自定义组件绑定原生事件+动态组件<component>
1. 给自定义组件绑定原生事件在实际开发中,直接给DOM标签元素添加原生事件是没有问题的,但是给自定义组件直接添加原生事件就会失效,因为Vue对于自定义组件有一套自己的系统相当于设置了规则,那么直接监听自定义组件的根元素上的一个原生事件如何实现?.native 修饰符 ,只作用于自定义的组件标签< child>是自定义组件标签绑定的是自定义事件,template中的 <...
2019-03-28 16:44:08
1837
原创 组件的使用细节点--is、ref、props特性、校验
is属性当在一些特地搭配的标签中用到组件时,如在ur标签里用到组件,但是ul里只能是li /ol,这时若用的是<xxx组件名>在页面中不会显示,那么可用is来解决,即< li is=“xxx组件名” >,select里的标签只能是option,但是需要用到组件,也可以用is来解决。<tbody><tr is="row组件名"></tr&...
2019-03-28 16:43:22
305
原创 mvc和MVVM模式
MVCmodel模型:数据保存;control控制::业务逻辑;view视图:用户界面;view传送指令到controller,control完成业务逻辑后发送指令给model要求改变状态,model将新的数据发送给view。在这中间,controller起到转发信息的作用,MVPmodelviewpresenter各部分之间的通信,都是双向的。View 与 Model ...
2019-03-25 17:41:51
723
原创 Map和Set以及数组扩展符
map是键值对的集合,value-key。map也是高阶函数【注;高阶函数是指可以接受函数作为参数的这类函数】**。map中的操作方法有:get、set、has、delete;若是对同一个键名进行set键值,那么后set的键值会覆盖之前的键值。例子:a.map(String); //(3) [“1”, “2”, “3”] 高阶函数–转化为stringa.map(Number); ...
2019-03-22 21:59:30
1134
原创 HTTPS对称加密简单易懂
HTTPS对称加密和非对称加密的简单易懂的介绍!!HTTPS要使客户端与服务器端的通信过程得到安全保证,必须使用的对称加密算法,但是协商对称加密算法的过程,需要使用非对称加密算法来保证安全,然而直接使用非对称加密的过程本身也不安全,会有中间人篡改公钥的可能性,所以客户端与服务器不直接使用公钥,而是使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全。这样通过这些机制协商出一个对称加密算法...
2019-03-15 10:33:10
473
原创 async/await异步
async作为关键字放在函数名前面,表示该函数是个异步函数。async function testAsync(){console.log(‘async’)}async函数返回的是一个promise对象。即testAsync()返回的是promise对象,如果要获取到函数内部的输出或返回值,那么需要用到then方法,即:testAsync().then(result=&amp;gt;{ c...
2019-03-11 21:56:51
465
原创 generator的next传参注意点
1. 返回多个结果:一般一个函数只能返回一个结果,generator可以使得函数返回多个结果。用法:function*定义,函数中可以用return语句,可以用yield返回多次。function* foo(x) { yield x + 1; yield x + 2; return x + 3;}foo(1) //表示创建了一个generator对象,但是还没...
2019-03-11 20:46:31
2238
原创 测试---接口测试简要知识点
接口测试?程序内部的接口和系统对外的接口接口大体分为:websevice接口:SOAP协议提供http传输,请求返回报文是XML格式,实用工具有:jmeter\loadrunner等http api接口:协议http,请求报文格式是value-key,返回报文是jsonp。工具postman、loadrunner等接口测试注重测试的是输入参数、输出参数是否满足相应的功能性安全性要求。可以利...
2019-03-05 21:29:30
1096
原创 Linux的常用命令
1, ls -list列出当前目录的内容文件或者文件夹2. mkdir - make directory: 新建一个新目录3. pwd -print working directory: 显示当前工作目录4. cd -change directory : 改变目录新设置当前工作目录5. tail - print TAIL(from last) :默认在标准输出上显示给定文件的最后10行...
2019-03-04 22:04:51
136
原创 VIVO笔试中涉及的知识点
一. Java修饰符分为访问修饰符和非访问修饰符访问控制修饰符有四种:default同一个包内可见private同一类中可见。修饰变量、方法不可用于修饰外部类public所有类可见protected同一个包内可见,修饰变量、方法。不可以修饰外部类非访问修饰符四种:1.static:修饰类方法和类变量2.final【防止内容被修改】:修饰类、方法、变量,注意final修饰的类不能够...
2019-03-04 11:51:43
849
原创 预加载单张图片和多张图片的实现
一. 预加载预加载:提前加载好资源,当需要时可以直接从本地缓存中渲染,有助于提升网页性能体验。实现方式:1.CSS中的background属性来实现-------利用CSS的background属性将图片预加载到屏幕外的背景上。只要这些图片的路径保持不变,当它们在Web页面的其他地方被调用时,浏览器就会在渲染过程中使用预加载(缓存)的图片。简单、高效,不需要任何JavaScript。该方法...
2019-01-08 12:08:55
1565
原创 认识严格模式
严格模式是在ECMAScript5以后引入的,它的作用是检测代码中潜在的错误,使代码更加偏进规范化严格模式使用"use strict"来声明,可以定义在全局作用域中,可以定义在某个函数内部。需要注意的是如果是在全局作用域中定义,若是将该JS脚本应用到另外一个文件,那么引用页的代码也需要符合严格模式编码规范。没有页面控制权时,最好是在需要测试的特定函数中开启严格模式。严格模式下变量要注意什么?...
2019-01-07 15:42:52
152
原创 懒加载的原理、实现
懒加载懒加载即按需加载,当页面需要时再加载处理,以减少本地缓存的压力。懒加载的原理:页面中的img元素,如果没有src属性,浏览器就不会发出请求去下载图片,只有通过javascript设置了图片路径,浏览器才会发送请求。 懒加载的原理就是先在页面中把所有的图片统一使用一张占位图进行占位,==把真正的路径存在元素的“data-url”==的自定义属性里,要用的时候就取出来,再设置;延迟加载实现...
2019-01-07 12:11:32
12283
原创 深拷贝和浅拷贝
深拷贝和浅拷贝在js中存储方式是分栈和堆,一般基础类型如null、string、undefined、number、boolean是栈存储,复杂类型如对象和数组一般是堆存储。深拷贝和浅拷贝是对于复杂类型而言的。案例说明:深拷贝、浅拷贝、赋值的区别var obj1 = { 'name' : 'zs', 'age' : '18', 'langua...
2019-01-07 12:08:06
259
原创 前端性能优化的那点事
前端性能优化可以分为:服务器优化、网页内容优化、cookie优化、CSS优化、JavaScript优化、图片优化这六个方面1. 服务器优化措施使用CDN内容分发网络-----就近获取资源添加expires或者cache-control报文头(缓存角度,参考:https://blog.csdn.net/Qian_mos/article/details/84795426)配置Etags(缓存...
2019-01-03 15:49:27
177
原创 重排重绘
重排reflow:DOM的变化影响到了元素的宽高,导致浏览器要重新计算元素的宽高(影响到页面布局),甚至影响到渲染数中的某些部分就需要重新渲染。改变窗口大小、文字大小、内容变化、浏览器窗口大小、style属性的改变等会导致重排。重排一定会导致重绘。重绘不一定导致重排。重绘repaint:一个元素的外观发生了改变,但是没有改变元素的宽高,比如改变元素的背景色、outline、visibility...
2019-01-03 15:32:12
889
原创 jQuery Ajax
1. load(): 从服务器加载数据,将返回的数据放入被选元素里。语法:$(selector).load(URL,data,callback);URL参数必须,需要加载的URL(可以是文件地址)。当URL中需要传递参数时用{},多个参数之间用逗号隔开。注意:带参时是用的post()方法进行传递请求的$("#myID").load("/test.php",{"name":"Adam","si...
2018-12-29 12:16:38
136
原创 Jquery知识点记录
语法:操作HTML元素$(selector).action();$("#choose").hide();文档就绪事件:等DOM结构加载完成后就执行jQuery代码。一个页面可以写多个ready()。【window.onload一个页面只可以写一个,要等到所有的内容包括图片加载完毕才可以执行onload(),不能简写】$(document).ready(function(){…})简...
2018-12-26 15:44:49
144
原创 JS红宝书---高级技巧
1.安全的类型检测-----(1) 内置的JS类型检测机制并不是完全可靠的。typeof有时会导致检测的数据类型不是可靠的结果。instanceof在存在多个全局作用域的情况下无法得到准确的结果。eg: var isArray = value instanceof Array;返回TRUE的前提是 value是一个数组,并且该变量要和Array构造函数在同一个全局作用域中;不然若是val...
2018-12-26 11:39:27
1245
原创 解释性语言和编译性语言&JS的事件轮询介绍
一. 解释性语言和编译语言介绍JavaScript是一门解释性语言,也是一门单线程语言。何谓解释性语言?将高级语言翻译为机器语言有两种方式:解释和编译。----解释性语言如Java/c#,在程序运行时开始翻译,效率较低但可以跨平台,只要平台提供解释器就可以运行源码。Java虽然是解释性语言但是Java代码需要编译成.class字节码文件,若要执行Java代码还需要Jvm的解释才可以。可参考...
2018-12-24 16:29:56
595
原创 CSS--文本溢出的处理
1.单行文本溢出单行文本溢出一般没有代码上的兼容问题,//需要对元素盒子设置一个宽度以兼容部分浏览器overflow: hidden; //超出部分隐藏white-space: nowrap; //表示不换行text-overflow: ellipsis; //加省略号2.多行文本溢出适用于webkit浏览器(如chrome、QQ极速、搜狗等)和移动端。 displa...
2018-12-24 11:51:13
1702
原创 JS学习2(继续更新)
1. 访问对象属性的另类方法eg:var person=new Object();person.name=“xs”;person.age=16;当要访问person的属性时,也可以使用[]的形式,如:==person[“name”]==但是访问的属性如name要以字符串的形式。这种形式的好处是 可以通过其他变量来访问属性比如:如果属性名中包含会导致语法错误的字符,或者属性名使用的是...
2018-12-21 22:03:35
151
原创 正则表达式的简单知识
正则表达式正则.test(字符串)成功返回true,失败返回false,可用于if()条件判断。正则.exec(字符串)字符串.match(正则)Str.match(reg),匹配成功会返回匹配成的数组,否则返回null。字符串.search(正则)匹配成功返回匹配成功的位置(即字符的下标),失败则返回-1。字符串.replace(正则)Str.replace...
2018-12-16 12:58:35
223
原创 计算机网络地址
五类地址:常用的是A、B、C三类,其他D\E作为专用用途。A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。B类地址的第一组数字为128~191。C类地址的第一组数字为192~223。网络号:一个IP地址被分为网络号和主机号,网络号区分不同的网络,主机号区分同一网络中的不同的主机。.IP地址=...
2018-12-16 12:44:15
1594
原创 数据库MySQL(来自自己的部分学习文档--《MySQL必知必会》)
(博主有记录学习文档的习惯,但是后来发现文档过多当想查看时不方便,所以特记录到博客中)一. DB DBS DBMS区别二、 外模式 概念模式 内模式三、分组和查询1. 过滤分组Having和groupby同时利用where和having进行数据过滤筛选。Where先,其次是groupby,再者是having。2. 子查询3. 嵌套子查询4. 组合查询Union进...
2018-12-16 12:30:39
161
原创 css垂直居中七种方法
Margin:0 auto; 适用于块状元素具有宽高。不是用于文本居中。text-align:center可实现文本居中,vertical-align垂直居中文本;可用于内联元素的居中text-align+line-height设置与height同大时,文本会水平垂直居中。text-align+display:inline-block实现元素以及文本的水平居中。若父元素与子元素div同高则...
2018-12-09 21:48:11
271
原创 关于跨域的5种解决方案的知识
跨域同源策略首先从同源策略开始讲----何谓同源:相同的域名、相同的协议、相同的端口即为同源,若有其一不同则视为不同域。----同源策略带来的限制:1.cookie、localstorage、indexDB无法读取2.DOM和JS对象无法读取3.AJAX请求无法发送;有时需要跨域请求资源,那么对于这一需求,有什么办法解决同源策略的限制呢?1. jsonp(jsonp with p...
2018-12-06 17:16:02
277
原创 js红宝书学习
number类型八进制字面值的第一位必须是0,后续数字序列在0-7之间,若是数值超出了范围,前导0将被忽略,后面的数值将被当做十进制数值解析:var octalNum = 070;//八进制的56var ocyalNum = 079;// 解析为79八进制自面量在严格模式下无效,JavaScript引擎会抛出错误。十六进制面值的前两位必须是0x,后跟0-9或者A-F。在进行算术计算时,...
2018-12-05 11:31:34
2185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人