本人前端小白,没有名师指点,只是一点点自己摸索前进。虽然对错都分不清,可依然没有退缩。从今天起,本人开始写自己的技术博客。不是为了指点别人,而是自己做些笔记。我会尽量详细些,因为我记性不好,怕自己忘了。嘿嘿……废话不多说,开始说正事。

第一步:js声明一个普通的变量a

var a = '123';

第二步:把a赋值给一个新的变量b

var b = a;
console.log(b);

此时得到的结果是:

第三步:我们改变变量a的值

var a = '123';
var b = a;
a = 'abc';
console.log('a = '+a);
console.log('b = '+b);

此时得到的结果:

综上所述,本人猜测(柯南式托腮):
程序在声明变量时,
(1)在内存中创建了’123’变量,并且保存到这个变量自己的一小块内存当中。
(2)在内存中创建了一个名为a的变量,并把它指向’123’的内存地址。
当我改变a的时候,只有变量a的指向发生了改变,指针指向了新创建的’abc’的内存地址,但是变量’123’还是存在的。
【变量赋值只是改变指针的过程】

让我突然想到js的垃圾回收机制,等我搞得清楚了,再写吧。
中午了,吃饭饭了。嘿嘿嘿……

js声明变量过程,程序都做了什么?相关推荐

  1. js声明变量的三种方式

    JS 声明变量的三种方式 (1)使用变量步骤:a.声明-->b.赋值-->3.调用 正确用法: <script type="text/javascript"> ...

  2. php变量和js变量的区别吗,JS声明变量的3种方式和区别

    JavaScript 是弱类型语言,可以不需要声明变量而直接使用.这样虽然简单但不易发现变量名方面的错误,所以不建议这样做.通常的做法是在使用 JavaScript 变量前先声明变量.目前,JavaS ...

  3. java声明变量简单程序_零基础学编程之java变量

    01使用变量的意义 变量相当于自然语言中的代词,代词具有代替.指示作用,比如每个人的姓名,代表的就是真实的一个个体.如果没有名字,我们在交流的时候,讨论某一个人就需要说:身高1米75,单眼皮,双下巴的 ...

  4. js声明变量三种方式

    变量声明的三种方式: let const var var 声明与 let 相似.大部分情况下,我们可以用 let 代替 var 或者 var 代替 let,都能达到预期的效果. let和var的区别: ...

  5. js声明php变量,vue.js怎样声明变量

    vue.js声明变量的方法:1.使用let定义,let是块级作用域,函数内部使用let定义后,对函数外部无影响:2.使用var定义,var定义的变量可以修改:3.使用const定义,const定义的变 ...

  6. java方法中的循环里的变量_Java中循环声明变量方法

    Java循环声明变量 之前想这样做,但是网上一直搜索不到,下面是我的方式 项目中 // 得到需要查询外表的数量,然后分别创建缓存,插入数据多的时候如果编码在缓存里面,就不需要再去查询数据库了.key: ...

  7. BCG-MFC 库对《支持重新启动管理器》都做了些什么

    一般用VS2010以上版本,创建MFC的程序都会有这个选项,如下图所示,如果选择了这几项,那么应用程序都做了哪些工作呢?下面一一道来 首先,为了让你自己创建的应用程序下次重新打开的时候能记住上一次的布 ...

  8. js 1 声明变量 数据类型

    1.vs新建步骤 文件--新建项目--web--空web应用程序--取名.位置.确定--此时软件会自动生成一个sln文件(解决方案),一解决方案下面可以有多个项目. 文件夹所在的位置 点击项目--右击 ...

  9. 从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?

    转载自   从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的? 先回顾一下Java程序执行的过程: Java程序执行时,第一步系统创建虚拟机进程,然后虚拟器用类加载器Class Loade ...

  10. c语言程序执行完main函数后,一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决...

    当前位置:我的异常网» C语言 » 一个c程序在执行main函数之前和main之后都做了那些 一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决 www.myexceptions ...

最新文章

  1. pip install lxml 总是失败
  2. WIN7无法记住远程登录密码
  3. linux系统中cache清理/释放命令
  4. 排序1+1:冒泡排序法(BubbleSort)的改进以及效率比较
  5. C#LeetCode刷题之#16-最接近的三数之和(3Sum Closest)
  6. 盲视频超分辨率:南理工提出不用HR参与也能训练的自监督学习方法
  7. 模型优化秘诀:从数据的角度分析,零代码也可以提升精度
  8. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之Pinctrl子系统和GPIO子系统的使用
  9. mql 查询多结果_详解Oracle分页查询概念、缘由及如何实现
  10. OpenGL ES应用开发实践指南:iOS卷
  11. join 子查询 效率_MySQL之多表查询
  12. 记我的一次重构——希望对新人有所帮助
  13. android游戏开发的架构
  14. 小程序发布上线流程_微信小程序开发到上线流程详解
  15. 小新黑苹果声卡ID注入
  16. 如何卸载 3DMAX ?怎么把3DMAX彻底卸载删除干净重新安装的方法
  17. 2021年社招字节跳动测试开发工程师面试题
  18. 缠论108课_缠论108课学习顺序
  19. 初学cesium时的一些笔记,过于潦草看看就好
  20. 第一章 人力资源管理概述(6学时)

热门文章

  1. Gossip协议笔记--谣言、流行病协议
  2. 对话系统-口语理解-意图检测和槽填充:A Co-interactive Transformer for joint Slot Filling and Intent Detection
  3. 10个文献、期刊、论文、学术查找的学术网站整理
  4. 性能测试---影响性能的因素
  5. excel汇总报表如何做?
  6. 黏性流体运动的纳维-斯托克斯方程
  7. 计算机系的土味情话,大学各专业土味情话
  8. 苹果手机连wifi很慢-解决方案
  9. 【一年总结】记我的大一生活
  10. MiniOSD DIY记