摘要:引用也是一个比较有意思的主题,中的引用始终指向最终的对象,而并非引用本身用个例子来解释一下。理解这个之后,下面这个例子就不难了
引用也是一个比较有意思的主题,JavaScript中的引用始终指向最终的对象,而并非引用本身,用个例子来解释一下。
var obj = {}
var ref = obj;
obj.name = "objectA"
console.log(ref.name);//ref跟着添加了name属性
obj = ["one", "two", "three"];//obj指向了另一个对象(数组对象)
print(ref.name);//ref还指向原来的对象
print(obj.length);//3
print(ref.length);//undefined
运行结果:
objectA objectA 3 undefined obj只是对一个匿名对象的引用,所以,ref并非指向它,当obj指向另一个数组对象时可以看到,引用ref并未改变,而始终指向那个后来添加了name属性的"空"对象”{}”。理解这个之后,下面这个例子就不难了:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/87615.html
摘要:按引用传递时,函数的形参接收实参的隐式引用,而不再是副本。探究值的传递方式的基本类型,是按值传递的。但这样是否说明的对象是按引用传递的呢我们再看下面的例子仍然是并未被修改为如果是按引用传递,修改形参的值,应该影响到实参才对。 最近遇到个有趣的问题:JS中的值是按值传递,还是按引用传递呢? 在分析这个问题之前,我们需了解什么是按值传递(call by value),什么是按引用传递(ca...
摘要:介绍浏览器的具有自动垃圾回收机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。中的内存泄漏问题程序的内存溢出后,会使某一段函数体永远失效取决于当时的代码运行到哪一个函数,通常表现为程序突然卡死或程序出现异常。 showImg(https://segmentfault.com/img/remote/1460000018932880?w=4400&h=3080); 1. 介绍 浏...
摘要:中对内存的一些了解在进行开发的过程中了解内存机制有助于开发人员能够清晰的认识到自己写的代码在执行的过程中发生过什么也能够提高项目的代码质量内存是怎么样的中变量存放有着原始值与引用值之分原始值原始的数据类型以及新加入的引用值等类型的值便是引用 JS中对内存的一些了解 在JS进行开发的过程中, 了解JS内存机制有助于开发人员能够清晰的认识到自己写的代码在执行的过程中发生过什么, 也能够提高...
摘要:编译器对赋值的操作当编译器遇到它会询问域是否存在变量,如果存在编译器忽略这个声明,如果不存在编译器要求域声明一个新变量给自己。两种引用引用和引用,对于编译器来说,指变量用于赋值,是指变量用于取值。里面的也是引用,因为它用于获取的值。 You-Dont-Know-JS是github上一个拥有9000多枚星星的JS教学文档,评价很高,为了避免和其他翻译文一样,容易陷入不宜读的混乱,也试图避...
摘要:前端基本功常见概念一点这里前端基本功常见概念二点这里前端基本功常见概念三点这里超文本标记语言,显示信息,不区分大小写升级版的,区分大小写可扩展标记语言被用来传输和存储数据规范采用异步方式加载模块,模块的加载不影响它后面语句的运行。 前端基本功-常见概念(一) 点这里前端基本功-常见概念(二) 点这里前端基本功-常见概念(三) 点这里 1.HTML / XML / XHTML html...
阅读 694·2021-11-18 10:07
阅读 2884·2021-09-22 16:04
阅读 887·2021-08-16 10:50
阅读 3358·2019-08-30 15:56
阅读 1791·2019-08-29 13:22
阅读 2699·2019-08-26 17:15
阅读 1244·2019-08-26 10:57
阅读 1115·2019-08-23 15:23