方法一
1 | let input = [ |
方法二
1 | const tempArr = [{ |
1 | let input = [ |
1 | const tempArr = [{ |
实现方式
1 | var colCount //定义列数 |
一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)
函数执行后返回结果是一个内部函数,并被外部变量所引用,如果内部函数持有被执行函数作用域的变量,即形成了闭包。
可以在内部函数访问到外部函数作用域。使用闭包,一可以读取函数中的变量,二可以将函数中的变量存储在内存中,保护变量不被污染。而正因闭包会把函数中的变量值存储在内存中,会对内存有消耗,所以不能滥用闭包,否则会影响网页性能,造成内存泄漏。当不需要使用闭包时,要及时释放内存,可将内层函数对象的变量赋值为null。
在 JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,作为函数内部与外部连接起来的一座桥梁
大小{font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位: PX、 PD样式{font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)行高{line-height: normal;}(正常)单位: PX. PD、EM粗细{font-weight: bold;}(粗体) lighter;(细体) normal;(正常)变体{font-variant: small-caps;}(小型大写字母) normal;(正常)大小写{text- transform: capitalize;}(首字母大写) uppercase;(大写) lowercase;(小写) none;(无)修饰{text-decoration: underline;}(下划线) overline;(上划线) line-through;(删除线) blink;(闪烁)
"Courier New", Courier, monospace, "Times New Roman", Times, serif, Arial, Helvetica, sans-serif, Verdana
因为浏览器缓存原因导致打包的文件偶尔会出现不能及时更新最新代码。
对于每次打包后的文件加上一个时间戳,使浏览器的缓存失效 找到vue.config.js文件下的chainWebpack 并加入以下配置
1 | chainWebpack(config) { |
一、安装插件(compression-webpack-plugin)
1 | npm install compression-webpack-plugin --save-dev |
可能出现的错误:
Unsupported URL Type: npm:vue-loader@^16.1.0
原因:npm版本过低
为什么前端框架Vue能够做到响应式?当依赖数据发生变化时,会对页面进行自动更新,其原理还是在于对响应式数据的获取和设置进行了监听,一旦监听到数据发生变化,依赖该数据的函数就会重新执行,达到更新的效果。那么我们如果想监听对象中的属性被设置和获取的过程,可以怎么做呢?
在ES6之前,如果想监听对象属性的获取和设置,可以借助Object.defineProperty方法的存取属性描述符来实现,具体怎么用呢?我们来看一下。
1 | const obj = { |
在Vue2.x中响应式原理实现的核心就是使用的Object.defineProperty,而在Vue3.x中响应式原理的核心被换成了Proxy,为什么要这样做呢?主要是Object.defineProperty用来监听对象属性变化,有以下缺点:
前段时间写项目遇到一个问题,更改代码时页面自动刷新,vuex中的数据丢失,导致需要重新返回赋值的页面,开发起来影响效率,于是想到了vuex的持久化处理。
起初我是这样用的
先下载插件
1 | npm install vuex-persistedstate --save |
引入插件
1 | /** |
1 | var str = "{' retmsg':'success ',\n' trans_date':' 20170906'}"; |
去掉空格