5 LylBrave

尚未进行身份认证

暂无相关简介

等级
TA的排名 12w+

Vue更改了data里的数据,但是视图却没有更新

1.Vue不能检测以下数组的变动:var vm = new Vue({ data: { items: ['a', 'b', 'c'] }})vm.items[1] = 'x' // 不是响应性的vm.items.length = 2 // 不是响应性的 当利用索引值修改数组某项时,使用:Vue.set(vm.items, indexOfItem, newValue);或者:vm.$set(vm.items, indexOfItem, newValue)vm.items...

2020-05-18 14:35:15

vue+express搭建系统时利用token保持登陆状态

在我们登陆以后,我们通常希望以后的每次url请求都带上认证信息,即让我们的服务器知道我们已经登陆。利用jwt(jsonWebToken)插件可以帮我们生成相应toktenconst jwt = require('jsonwebtoken');let expressJWT = require('express-jwt');//引入中间件对token进行验证app.post('/login...

2020-02-07 12:04:25

express4.0+在解析前端post的数据时获取不到req.body

由于前端在用axios的post方法数据时,是以 Request Payload 格式传给服务器,所以此处要使用bodyParser插件,安装插件npm install bodyParser然后在app.js文件中引入,并写上这两行代码就可以解析出req.body中的数据了app.use(bodyParser.urlencoded({extended:true}));app.us...

2020-02-07 11:55:56

JS异步回调Async/Await与Promise

promise是为解决ES6异步回调而生的,为了避免出现回调地狱,那为什么又需要Async/Await呢?什么是Async/Await?1.async/await是写异步代码的新方式,以前的方法有回调函数和promise2.async/await是基于promise实现的,她不能用于普通的回调函数3.是非阻塞的4.async/await使得异步代码看起来像同步代码使同pro...

2018-09-17 15:17:35

setTimeout和setInterval的区别

这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。不过两者各有各的应用场景。实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行...

2018-08-13 16:35:00

js中块级作用域和函数作用域的区别

为什么需要块级作用域?ES5只有全局作用域没和函数作用域,没有块级作用域,这带来很多不合理的场景。第一种场景,内层变量可能覆盖外层变量:var tmp = new Date();function f(){ console.log(tmp); if(false){ var tmp = "hello"; }}f(); // undefined上面代码中,...

2018-08-13 10:40:11

如何实现每执行一次函数,结果都会自增1

function f(){var cnt=0;return function(){ return ++cnt;}}var fa=f();//将函数f的的返回值给变量fnconsole.log(fa());//1console.log(fa());//2console.log(fa());//3函数的返回值是函数(对象的引用),这里将其赋值给变量fn。在调用fn时,其输出结果每次都...

2018-08-07 15:23:30

如何实现浏览器内多个标签页之间的通信?

调用localstorge、cookies等本地存储方式。方法一:localstorge在一个标签页里被添加、修改或删除时,都会触发一个storage事件,通过在另一个标签页里监听storage事件,即可得到localstorge存储的值,实现不同标签页之间的通信。 <input id="name">   <input type="button" id="btn...

2018-08-04 16:24:44

Vuex的单向数据流

随着前端的项目的越来越复杂,出现了一堆概念来降低开发的复杂性。单向数据流就是其中一个。如果项目很简单,不需要用单向数据流。单向数据流是什么单向数据流指只能从一个方向来修改状态。下图是单向数据流的极简示意:单向数据流的极简示意与单向数据流对对应的是双向数据流(也叫双向绑定)。在双向数据流中,Model(可以理解为状态的集合) 中可以修改自己或其他Model的状态, 用户的操作...

2018-08-04 10:35:45

函数去抖和函数节流

函数节流和去抖的出现场景,一般都伴随着客户端 DOM 的事件监听。举个例子,实现一个原生的拖拽功能(不能用 H5 Drag&Drop API),需要一路监听 mousemove 事件,在回调中获取元素当前位置,然后重置 dom 的位置(样式改变)。如果我们不加以控制,每移动一定像素而触发的回调数量是会非常惊人的,回调中又伴随着 DOM 操作,继而引发浏览器的重排与重绘,性能差的浏览器可能就...

2018-08-04 10:31:56

setTimeout(fn, 0) 的作用

调用 setTimeout 函数会在一个时间段过去后在队列中添加一个消息。这个时间段作为函数的第二个参数被传入。如果队列中没有其它消息,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完。因此第二个参数仅仅表示最少的时间,而非确切的时间。零延迟 (Zero delay) 并不是意味着回调会立即执行。在零延迟调用 setTimeout 时,其并不是过了给定的...

2018-08-02 16:03:52

RESTful是什么?

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。表述性状态转移(REST)是一组架构约束条件和原则,而满足这些约束条件和原则的应用程序或设计就是RESTful。REST原则:资源与URI(要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一...

2018-08-02 15:40:23

https的握手过程

https并非是应用层的一种新协议,它只是在http通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。浏览器使用http时,直接同tcp通信;当浏览器使用https时,浏览器会先同TLS/SSL进行通信,然后TLS/SSL再同tcp进行通信。在使用TLS/SSL后,http便拥有了加密功能。TLS/SSL...

2018-08-02 10:46:25

详析cookie和session到底是什么?

一.什么是CookieCookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能...

2018-08-02 10:37:20

详细介绍缓存的几种方式

对于Web前端而言,cache可以说是无处不在,通常是2个环节之间,就会引入一个cache做为提升整体效率的角色。例如A和B两者之间的数据交换,为了提升整体的效率,引入角色C,而C被用于当做热点数据的存储,或者是某种中间处理的机制。也就是我们常常说的“空间换时间”,牺牲一部分代价,来换取整体效率的提升。那么我们一起来看看前端当中,有那些比较关键的缓存?它们又是怎样协调工作的呢?我们一起来看...

2018-08-02 10:29:58

在使用rem适配移动端时,如何改变根元素的字体大小?

rem和em相对单位长度我们经常用在响应式开发中,rem 和 em 单位是由浏览器基于你的设计中的字体大小计算得到的像素值。em 单位基于使用他们的元素的字体大小。rem 单位基于 html 元素的字体大小。em 单位可能受任何继承的父元素字体大小影响。rem 单位可以从浏览器字体设置中继承字体大小。一般我们会使用js去控制根元素的font-size大小,然后进行rem换算:functi...

2018-08-02 10:16:28

canvas画矩形和svg画矩形的方法

1.canvas画矩形<!doctype html><html><head><!--canvas画矩形--><style>#huaban{border:1px solid;}</style><script></script><meta chars

2018-08-02 10:03:51

怎么解决跨域的问题

跨域感觉是面试里被问到的概率最高的几个问题之一,所以准备好好总结一下。一、通过jsonp跨域在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。比如,有个a.html页面,它里面的代码需要利用ajax获取一个不同域上的json数据,假设这个json数据地址是http:/...

2018-08-01 21:21:14

js几种请求方式的对比(XHR,jQuery中的ajax,fetch,axios)

开发过程中,我们向服务端发送请求,一般会使用三种方式, XMLHttpRequest(XHR),jQuery实现的AJAX,Fetch ,让我们首先来比较一下这三者的使用示例。XMLHttpRequestvar xhr;if (window.XMLHttpRequest) {  // Mozilla, Safari...  xhr = new XMLHttpRequest();}...

2018-08-01 20:41:26

apply,call,bind的区别

首先,call()和apply()就是改变函数的执行上下文,也就是this值。他们两个是Function对象的方法,每个函数都能调用。他们的第一个参数就是你要指定的执行上下文,第二个用来传递参数(说第二个不准确,应该说第二部分,因为参数可以传多个),也就是传给调用call和apply方法的函数的参数。说白了,就是调用函数,但是让它在你指定的上下文下执行,这样,函数可以访问的作用域就会改变,不得不说...

2018-08-01 20:22:45

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。