摘要:
前言 jsonp是一种跨域通信的手段 原理 原理:事先定义一个用于获取跨域响应数据的回调函数,并通过没有同源策略限制的script标签发起一个请求(将回调函数的名称放到这个请求的query参数里),然后服务端返回这个回调函数的执行,并将需要响应的数据放到回调函数的参数里,前端的script标签请求到 阅读全文
摘要:
正文 JavaScript中的变量提升说的是在程序中可以在变量声明之前就进行使用: console.log(a); // undefined var a = 1; 可以看到,在变量a声明之前我们可以正常调用a,代码的实际的表现更像是这样的: var a; console.log(a); // und 阅读全文
摘要:
正文 相信很多人第一次见到正则表达式的第一印象都是懵逼的,对新手而言一个正则表达式就是一串毫无意义的字符串,让人摸不着头脑。但正则表达式是个非常有用的特性,不管是JavaScript、php、Java还是Python都有正则表达式。俨然正则表达式已经发展成了一门小语言。作为编程语言的一部分,它不想变 阅读全文
摘要:
在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。 nodejs接口可以采用下面的 阅读全文
摘要:
JavaScript的任何throw机制的使用都会引起异常,异常处理必须用try/catch来进行处理,否则nodejs进程会立即退出。 同步的API会使用throw来报告错误。 但是异步的API可能使用多种方法来报告错误 大多数异步API发生错误,采用callback方式来处理异常,其中callb 阅读全文
摘要:
1. 数组的解构赋值 解构: ES6 中允许按照一定的模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构(Destructuring). 1. 基本用法 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予相应的值。 完全解构 let [a, b, c] = [1, 阅读全文
摘要:
随着前端的发展,特别是 react,vue 等构造单页应用的兴起,前端的能力得以很大提升,随之而来的是项目的复杂度越来越大。此时的前端的静态资源也越来越庞大,而毫无疑问 JavaScript 资源已是前端的主体资源,对于压缩它的体积至为重要。 为什么说更小的体积很重要呢:更小的体积对于用户体验来说意 阅读全文