今天遇到了一个问题,值得一记
首先在我看项目代码时发现了一个问题
有一个JS的export如下
大家可以注意一下config
这里为什么要如此写法呢?
首先这里用的时ES6的箭头函数 ()=>{}
而此种写法()=>({})等同于()=>{return {}}
其实这里我们可以直接使用config:{}就可以,为什么还要多以一举,用函数来返回呢,
原因是假如我们用config:{}那么每次调用时,调用的的都是同一个对象,假设A,B同时调用了config,当A更改title为标题文字AAAA,B的title也会变成标题文字AAAA,这样就会造成数据的混乱。
但是我们用()=({})来返回一下,就能保证不管被调用多少次,调用后修改并不会影响config原本的内容。
好了,告辞,继续看项目去了
随机推荐
-
FASTJSON
package com.hanqi.test; import java.util.ArrayList;import java.util.Date;import java.util.List; impo ...
-
opencv,图片遍历
//肤色提取,skinArea为二值化肤色图像 void skinExtract(const Mat &frame, Mat &skinArea) { Mat YCbCr; vecto ...
-
Kafka 分布式的,基于发布/订阅的消息系统
Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量:即使是非常 ...
-
iOS sourceTree忽略掉必要的xcuserdata文件
1.找到git对应的文件 git status 结果 会得到已经修改的文件. modified: Zing.xcodeproj/xcuserdata/tiny.xcuserdatad/xcscheme ...
-
2018-09-24 Java源码英翻中网页演示
在线演示地址: 源代码翻译 两部分如下. 独立的Java代码翻译库 续前文代码翻译尝试-使用Roaster解析和生成Java源码 源码库: program-in-chinese/java_code_t ...
-
使用Chrome远程调试GenyMotion上的WebView程序
WebView让我们方便的使用熟悉的Html/JS/Css来开发APP.但是,当出现问题时,却没有PC上那么方便的排查问题.PC上,前端的问题我们可以使用Chrome的开发者工具方便的调试.Andro ...
-
catboost原理以及Python代码
原论文: http://learningsys.org/nips17/assets/papers/paper_11.pdf catboost原理: One-hot编码可以在预处理阶段或在训练期间 ...
-
将网页设置为允许 XMLHttpRequest 跨域访问
在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Java Response.AddHeader("A ...
-
linux第七章读书笔记
Vim编辑器 Vim 仅仅通过键盘来在插入和执行命令等多种模式之间切换.这使得Vim可以不用进行菜单或者鼠标操作,并且最小化组合键的操作,对文字录入员或者程序员可以大大增强速度和效率. CHAPTER ...
-
acm1217教训
能用容器去做的用容器做,尽量少用数组,即使自己明确其数量的上届: #include<iostream> #include<cstring> #include<map> ...