今天遇到了一个问题,值得一记

首先在我看项目代码时发现了一个问题

有一个JS的export如下

大家可以注意一下config

这里为什么要如此写法呢?

首先这里用的时ES6的箭头函数 ()=>{}

而此种写法()=>({})等同于()=>{return {}}

其实这里我们可以直接使用config:{}就可以,为什么还要多以一举,用函数来返回呢,

原因是假如我们用config:{}那么每次调用时,调用的的都是同一个对象,假设A,B同时调用了config,当A更改title为标题文字AAAA,B的title也会变成标题文字AAAA,这样就会造成数据的混乱。

   但是我们用()=({})来返回一下,就能保证不管被调用多少次,调用后修改并不会影响config原本的内容。

好了,告辞,继续看项目去了

随机推荐

  1. Mybatis中输入输出映射和动态Sql

    一.输入映射 我们通过配置parameterType的值来指定输入参数的类型,这些类型可以是简单数据类型.POJO.HashMap等数据类型 1.简单类型 2.POJO包装类型 ①这是单表查询的时候传 ...

  2. Vue自定义指令,ref ,sync,slot

    一.自定义指令 vue中可以自己设置指令,通过directive来实现,有2种创建方式,一种是局部创建,一种是全局创建. 第一种:局部创建 如果想注册局部指令,组件中也接受一个 directives  ...

  3. struts2框架学习笔记2:配置详解

    核心配置文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC ...

  4. Linux 后台运行命令:nohup 和 &

    [参开文章]:nohup 与 & 的区别 1. nohup 1.1 基本概念 将程序以忽略挂起信号的方式运行起来: 不可以免疫 Ctrl + C  的 SIGINT 中断信号: 可以免疫 SI ...

  5. B - Red and Black 问题思考

    红黑地板问题 There is a rectangular room, covered with square tiles. Each tile is colored either red or bl ...

  6. Ubuntu下几个命令行方式使用的图片浏览工具

    想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...

  7. 浏览器上安装vue devtools

    安装前要检查一下node版本的(node -v),必须将版本提高到>4.4.7.低版本的node在安装devtools时执行npm install 时报错.如何升级node版本,若在window ...

  8. hdu 6161--Big binary tree(思维--压缩空间)

    题目链接 Problem Description You are given a complete binary tree with n nodes. The root node is numbere ...

  9. C# log4net 使用

    利用log4net写入异常类日志,在网上搜索一阵之后便想记录下来,以便后期使用,同时希望帮到大家.  第一步:使用管理NuGet程序包导入log4net.dll 导入成功后会在引用下显示相应的log4 ...

  10. 用synchronized同时修饰父类和子类,线程是安全的。即对象锁可重入

    public class SyncDubbo { static class Main { public int i = 10; public synchronized void operationSu ...