相信大家平时开发的过程中,经常需要对数组进行操作,说到对数组的操作,push还是出场率很高的。

今天本人在使用push的过程中,因为对这个方法的理解不够深,导致开发过程中出现了小小的困扰。这里先给大家举个例子:

var obj = {name: 'han'};
var arr = [];
arr.push(obj)
arr.push(obj)
arr.push(obj)
arr.push(obj)
obj.name = 'liu'

在这里,我们往一个空数组 arr 里面添加了三个对象,然后将 obj 对象进行了改动,你们猜数组的变化是怎么样的?有没有收到其影响?

既然都这么问了,想都不用想,肯定发生变化了呗,果然:

// 果然,控制返回的结果是:
[(4) [{…}, {…}, {…}, {…}]
{name: "liu"}
{name: "liu"}
{name: "liu"}
{name: "liu"}]

从这里看出了, push 进去的对象,相当于等于号 ‘=’ 的过程,对于对象,只是复制其指针地址,并不是真正意义上的复制,所以这里多个对象其实是指向同一个地址的。于是乎才产生这种情况。

在这里小小的分享了一些开发过程中的一些坑,和解决他们之后的收获,更多文章请转到此处 点我哦!

使用push你必须知道的小细节相关推荐

  1. 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节

    一.路由相关点 1. 路由跳转传参以及接参 https://segmentfault.com/a/1190000012393587 方法一: (1) 参数配置: { path : 'xx/:参数变量' ...

  2. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  3. mysql被拖垮_说几个拖垮系统的小细节!

    本文首发于个人微信公众号<andyqian>,期待你的关注! 前言 有好几天没有更新了,期间确实比较忙些,以至于周末也没休息.在这期间,感触还是蛮深的.现在碎片化的想法等整理好后,再以文章 ...

  4. final关键字的这8个小细节,你get到几个?

    前言 大家好,我是狂聊君. 今天来聊 final 关键字,因为最近在看的几本书都讲到了 final 关键字,发现好多小细节自己都忽视了,抽空总结了一下,分享给大家. 正文 final关键字是一个常用的 ...

  5. 网站优化有什么值得注意的小细节吗?

    网站优化的目的就是让网站关键词达到首页,从而为网站带来更多的流量,促使网站达到更好的营销效果,那么对于关键词上首页有什么技巧,需要完善哪些细节呢?下面就跟大家一起分享一下. 一.挖掘更精准的关键词 对 ...

  6. ASP.NET MVC 自定义路由中几个需要注意的小细节

    本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...

  7. 学长的求职经验 记录【就业创业信息网、求职流程、求职小细节】

    目录 1.就业创业信息网 2.求职流程 3.求职小细节 4.毕业设计 1.就业创业信息网 郑州轻工业大学 就业创业信息网:http://job.zzuli.edu.cn/   郑州大学 就业创业信息网 ...

  8. Linux小细节-1

    Linux小细节 1.启动过程 系统启动-内核自检-linux对应程序-加载/ext/rc.local-用户密码-系统配置文件 注:shell无法实现对没有驱动的硬件控制,需要用C语言为硬件写驱动也可 ...

  9. Swift里计数相关的小细节

    Swift里对于字符串这些引入了index型,相对其他语言而言字符操作更安全了,但是问题就是一不注意搞错范围就会有各种离奇的bug. 在讲主题前,先说个小细节. Swift里非常严密的定义了一大堆字符 ...

最新文章

  1. 可持久化数据结构讲解
  2. 如何监听WebView完成加载URL?
  3. IIS处理并发请求时出现的问题及解决
  4. 大二第一学期期末课程设计 2015.12.28
  5. 遍历数组长度_Java基础之数组
  6. Kudu :Service unavailable: Soft memory limit exceeded at xxx% of capacity
  7. Virtualization API之libvirt
  8. PHP 结构控制 if else / switch / while / do while
  9. LINUX中的gpio口使用方法,Linux中的gpio口使用方法
  10. 分享一个在沪深300下获得146.56%超额收益的策略
  11. VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表
  12. 利用Gecco爬取(蚂蚁短租网)列表页数据
  13. 17家中国初创公司的失败史
  14. 定位漏水_即使在移动中也要防止销售漏水
  15. 搭建web服务端网络共享及实时备份(只能用堡垒机连接)
  16. 精尽 Dubbo 源码分析 —— API 配置
  17. windows重装系统之后,开机显示“An operating system wasn't found,Try disconnecting any drives that...”(亲身遇到+解决方法)
  18. 获得Flash Build Betal2 的注册码
  19. java实现第七届蓝桥杯凑平方数
  20. Python 可视化 | 关联图 - 散点图1

热门文章

  1. 汽车之家字体加密破解(CSS样式反爬)
  2. [git]tig的安装及使用
  3. 颠覆IoT行业的开发神器!涂鸦智能重磅推出TuyaOS操作系统【程序员必备】
  4. vb6.0 Access数据库
  5. OSChina 周日乱弹 —— 木兰,其实我喜欢你很久了
  6. 【高数】高数竞赛必背重点(随时更)
  7. el-tooltip的使用(根据条件控制显示)
  8. docker jvm调优 tomcat_docker+tomcat 启动时非常慢原因之JRE /dev/random阻塞
  9. 自己做的上海市公积金贷款计算器
  10. 性能优化的指标和工具