《JavaScript启示录》——1.15 复杂对象具有动态属性

简介: 一个新变量,指向现有的复杂对象,并没有复制该对象。这就是复杂对象有时被称为引用对象的原因。复杂对象可以根据需求有任意多个引用,即使对象改变,它们也总是指向同一个对象。

本节书摘来自异步社区《JavaScript启示录》一书中的第1章,第1.15节,作者:【美】Cody Lindley著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.15 复杂对象具有动态属性

一个新变量,指向现有的复杂对象,并没有复制该对象。这就是复杂对象有时被称为引用对象的原因。复杂对象可以根据需求有任意多个引用,即使对象改变,它们也总是指向同一个对象。

<!DOCTYPE html><html lang="en"><body><script>

var objA = { property: 'value' };
var pointer1 = objA;
var pointer2 = pointer1;

// 更新objA.property, 所有引用(pointer1和pointer2)都被更新了
objA.property = null;

// 输出 'null null null' ,因为objA, pointer1和pointer2引用的都是同一对象
console.log(objA.property, pointer1.property, pointer2.property);

</script></body></html>

复杂对象支持动态对象属性,因为我们可以定义对象,然后创建引用,再更新对象,并且所有指向该对象的变量都会“获得”更新。

相关文章
|
1天前
|
缓存 JavaScript 前端开发
Vue.js计算属性:实现数据驱动的利器
Vue.js计算属性:实现数据驱动的利器
|
1天前
|
设计模式 存储 消息中间件
JavaScript观察者模式:实现对象间的事件通信!
JavaScript观察者模式:实现对象间的事件通信!
|
1天前
|
设计模式 JavaScript 前端开发
JavaScript原型模式:实现对象共享属性和方法!
JavaScript原型模式:实现对象共享属性和方法!
|
1天前
|
JavaScript 前端开发 开发者
深入理解JavaScript对象创建
深入理解JavaScript对象创建
|
2天前
|
JavaScript 前端开发
js用Date对象处理时间
以上就是JavaScript中Date对象处理时间的一些基本方法。
6 0
|
2天前
|
缓存 JavaScript C++
浅谈Vue.js的计算属性computed
浅谈Vue.js的计算属性computed
8 0
|
2天前
|
数据采集 JavaScript 前端开发
使用Go和JavaScript爬取股吧动态信息的完整指南
本文介绍了如何使用Go和JavaScript构建网络爬虫,从股吧网站抓取实时股市信息。通过设置代理服务器以应对反爬策略,利用`got`库执行JavaScript提取动态数据,如用户讨论和市场分析。示例代码展示了爬虫的实现过程,包括浏览器实例创建、代理配置、JavaScript执行及数据打印。此方法有助于投资者及时获取市场资讯,为决策提供支持。
使用Go和JavaScript爬取股吧动态信息的完整指南
|
2天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
【5月更文挑战第11天】JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
18 2
|
2天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
9 2
|
2天前
|
存储 JavaScript 前端开发
JavaScript对象方法详解
JavaScript对象方法详解
16 1