小知识总结
z逍遥
这个作者很懒,什么都没留下…
展开
-
关于vue项目中的兼容问题解决
vue的兼容问题在项目开始的时候,要先确定项目是否兼容到 IE8 及一下的版本,因为vue支持 IE8 以及更低版本 。1、ES6语法不支持 解决方法: 引入babel-polyfill npm install --save bable-polyfill webpack.base.conf.js中修改为app: ['event-source-polyfill', 'babel-polyfill', './src/ma原创 2020-09-23 22:02:00 · 4129 阅读 · 0 评论 -
虚拟DOM的实现原理与优缺点
前言:虚拟DOM就是为了解决浏览器性能问题而被设计出来的。如前,若一次操作中有10次更新DOM的动作,虚拟DOM不会立即操作DOM,而是将这10次更新的diff内容保存到本地一个JS对象中,最终将这个JS对象一次性attch到DOM树上,再进行后续操作,避免大量无谓的计算量。所以,用JS对象模拟DOM节点的好处是,页面的更新可以先全部反映在JS对象(虚拟DOM)上,操作内存中的JS对象的速度显然要更快,等更新完成后,再将最终的JS对象映射成真实的DOM,交由浏览器去绘制。一、什么是虚拟DOM虚拟D原创 2020-09-22 21:33:01 · 12292 阅读 · 1 评论 -
xxs和csrf的防御
一、关于xxs和csrf的防御1.防御XSS攻击HttpOnly 防止劫取 Cookie用户的输入检查服务端的输出检查2.防御CSRF攻击验证码Referer CheckToken 验证二、详解XSS1 HttpOnly 防止劫取 CookieHttpOnly 最早由微软提出,至今已经成为一个标准。浏览器将禁止页面的Javascript 访问带有 HttpOnly 属性的Cookie。上文有说到,攻击者可以通过注入恶意脚本获取用户的 Cookie 信息。通常 Cookie 中都包含原创 2020-09-11 20:36:07 · 733 阅读 · 0 评论 -
transition、transifrom、animate css动画的使用
一、过渡动画过渡(transition)动画,就是从初始状态过渡到结束状态这个过程中所产生的动画。所谓的状态就是指大小、位置、颜色、变形(transform)等等这些属性。Note:不是所有属性都能过渡,只有属性具有一个中间点值才具备过渡效果。点击查看完整列表。css过渡只能定义首和尾两个状态,所以是最简单的一种动画。注释:Internet Explorer 9 以及更早版本的IE浏览器不支持 transition 属性。如何在项目中正确、熟练地应用transition动画?第一步:在目标元转载 2020-09-11 20:26:48 · 736 阅读 · 0 评论 -
css让元素居中的十种方法
一、十种方法第一种通过绝对定位的方式 absolute + 负margin 首先知道子元素的宽高,给子元素设置top:50%;left:50%,但绝对定位是基于子元素的左上角,我们所希望的效果是子元素的中心居中显示。。。。借助外边距的负值,负的外边距可以让元素向相反方向定位, 通过指定子元素的外边距为子元素宽度一半的负值,就可以让子元素居中了**优点:**比较好理解,兼容性好**缺点:**需要知道子元素的宽高第二种:也是通过绝对定位的方式 absolute + margin auto原创 2020-09-09 23:50:56 · 3327 阅读 · 0 评论 -
图片懒加载的实现
一、懒加载实现的原理用一句话来说: 懒加载就是延迟加载是优化页面效果的一种手段,即通过控制图片内的src属性的现实或隐藏来实现的!如图:总的来说就是:当图片距离顶部的距离top-height等于可视区域h和滚动区域高度s之和时说明图片马上就要进入可视区了,就是说当top-height<=s+h时,图片在可视区是使片加载。二、实现代码实现懒加载有四个步骤,如下:1.加载loading图片2.判断哪些图片要加载【重点】3.隐形加载图片4.替换真图片html<!DOCTYP原创 2020-09-08 21:14:59 · 235 阅读 · 1 评论 -
mock插件的使用(主要用于生成虚拟数据)
MOCK,js(使用方法)mockjs官网:http://mockjs.com/mockjs官方文档:https://github.com/nuysoft/Mock/wiki/Getting-Started具体使用方法第一步 安装mockjsnpm install mockjs第二步 创建一个mock目录生成mock数据例如:course.jsimport Mock from "mockjs";//mock课程数据var result=Mock.mock({ code:原创 2020-09-07 21:50:24 · 525 阅读 · 0 评论 -
双向数据绑定
关于双向数据绑定当我们在前端开发中采用MV的模式时,M - model,指的是模型,也就是数据,V - view,指的是视图,也就是页面展现的部分。通常,我们需要编写代码,将从服务器获取的数据进行“渲染”,展现到视图上。每当数据有变更时,我们会再次进行渲染,从而更新视图,使得视图与数据保持一致。也就是:在这里插入图片描述而另一方面,页面也会通过用户的交互,产生状态、数据的变化,这个时候,我们则编写代码,将视图对数据的更新同步到数据,以致于同步到后台服务器。也就是:不同的前端 MV 框架对于这种 Mo原创 2020-09-04 20:53:57 · 386 阅读 · 0 评论 -
对ECMAScript6/7/8/的复习
一、javaScript组成:包括:ECMAScript,DOM,BOM1.ECMAScript:javascript核心语法,不依赖平台如:定义变量,if,switch,for,数组Api,字符串API,正则Api…2.DOM:(Document Object Model)针对浏览器标签操作 例如:获取id,获取类名,获取标签名注:操作真实DOM,引起重绘和回流–>才引出虚拟DOM 重绘:主要指页面颜色的改变,不影响DOM的空间变化 color,background 回流:指页面元原创 2020-09-03 20:11:16 · 211 阅读 · 0 评论 -
闭包,原型链及继承
面试回答技巧如何回答的一个技术的技巧,或者你的理解?比如:说一下对闭包的理解?答:从1…是什么?2.应用场景3.优缺点4.具体实现5.还有没有更好的解决方案!这五点来讲今天的内容都是从这几个方面来讲解。一、闭包1、闭包是什么?函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中,每当函数被创建,就会在函数生成时生成闭包。总结来说:闭包就是函原创 2020-09-02 23:32:50 · 256 阅读 · 0 评论 -
函数闭包的实现原理及扩展
一、闭包概念:简单说就是函数中嵌套函数,嵌套在这里面的函数叫做闭包函数,外面的函数叫做闭包环境作用:通过闭包函数,可以访问到闭包函数所在局部作用域中的变量及参数特点:闭包的特点或本质:将局部变量常驻内存,这既是它的优点也是它的缺点,使用不当还会造成内存泄漏闭包的原理:闭包是利用JS中的垃圾回收机制,当一个函数被调用时,会开辟空间,函数调用结束,会释放空间,但如果被释放空间时,发现其中有变量正在被其他函数使用时,则这个变量会常驻内存而不被回收。 扩展:如何解决内存泄漏,将暴露在外部的变量设置为原创 2020-09-01 23:33:23 · 419 阅读 · 0 评论 -
防抖节流与this指向的改变
一、防抖节流1、防抖在固定的时间内没有触发事件,会在固定时间结束后触发,如果固定时间内触发事件了,会在延长固定时间再触发防抖主要利用定时器实现用实例的话,可以用电梯的升降,遇到人进入会有一段时间的停止,当再次有人进入延迟会延长。//用定时器实现防抖function debounce(func,wait) { var timer=null; return function() { //保存当前调用的dom对象 var _this=this; //保原创 2020-08-31 22:21:45 · 2882 阅读 · 0 评论 -
ajax与Axios
一、什么是ajaxAsync javascript and XML{ name:"赵云", age:2, sex:"未知"}<user> <name>王超</name> <age>2</age> <sex>未知</sex></user>AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX原创 2020-08-20 20:55:48 · 233 阅读 · 0 评论 -
用webpack搭建前端环境的流程
前言:·首先,我们要知道前端的构建工具有以下这些: grunt 、 gulp 、 webpack 、 Fis3 然后那!webpack是一个用来将JavaScript 应用程序的静态模块打包的打包器。 最稳定的是V4.44这个版本。一、在搭建webpack之前要注意的事项1、查看是否安装node.js通过cmd 命令提示符检查自己是否安装了 node.js,没有安装的话需要安装后,在进行查看是否安装了淘宝镜像,若是没有则执行下面这步:npm config原创 2020-08-17 20:12:41 · 167 阅读 · 0 评论 -
函数的创建方法与变量的作用域理解
一、创建函数3种方法1 、函数声明function 函数名(){}2 、函数表达式var 函数名 = funciton(){}var fn = function(){}fn()3、构造函数的创建var 函数名 = new Function(){}注意:函数声明和函数表达式的区别1.函数声明可以在任意可见位置调用(即在函数定义的前面,后面都可以调用)2函数表达式必须先定义后调用3.函数声明可以预加载,也就是说函数声明有函数提升的作用二、变量作用域!!!用域分类:全局作用原创 2020-08-14 23:19:43 · 241 阅读 · 0 评论