JavaScript 值与引用-js教程

首页 2024-07-11 18:50:16

了解 JavaScript 如何保存变量:作为值或引用

在 JavaScript 在编程中,或者更确切地说,变量是计算机内存中存储数据的位置。根据语言,可以立即或稍后分配一个值。然后可以在程序中稍后引用变量,而不是再次明确说明相同的值。

在 JavaScript 数据以值的形式传输,这些值可以是原始值或对象值。作为一个人 JavaScript 开发人员,了解 JavaScript 拥有坚实的语言基础,如何处理数据至关重要。

原始值包括:

  • 弦.
  • 数字.
  • 布尔值.
  • BigInt.
  • 符号.
  • 未定义。

另一方面,对象值为:

立即学习“Java免费学习笔记(深入);

  • 数组。
  • 功能.
  • 物体.

这些值类型在传输过程中表现不同,请考虑以下代码片段:

var myName = "Fred";
var otherName = myName;
myName =“阿什利”;
console.log(我的名字); //阿什利
console.log(其他名称); //弗雷德

请注意,otherName 保持不变,尽管它看起来像 myName “副本”。事实上,实际情况是,当 otherName 被分配给 myName 它没有被分配成字符串“Fred副本,但创建了一个新字符串“Fred”。因此,myName 和 otherName 两者之间没有直接链接。这就是 JavaScript 传递原始值的方式。

对象值的处理方法不同,请参见以下代码片段:

var myObj = {颜色:“红色”};
var otherObj = myObj;
myObj.color = "蓝色";
console.log(myObj.color); //蓝色
console.log(otherObj.color); //蓝色

在这里,创建对象并分配给它 myObj,然后分配给它 otherObj,看看如何只通过改变 myObj 改变颜色属性 otherObj 和 myObj 颜色属性。这是因为对象值作为引用传递。 myObj 不直接引用对象,而是引用对象,然后引用对象 otherObj 分配给 myObj,它是对真实对象的引用。因此,两个变量都与相同的对象相连,因为它们指向相同的引用,其中一个变量的变化会影响另一个变量。

这就是为什么两个对象的比较(===)直接返回 false,你们实际上是在比较两个不同的引用。在这里, myObj === otherObj 返回 true,因为我们正在引用相同的参考。

希望这能让你对 JavaScript 如何在幕后工作有一个全新的视角。

在此之前,请保持没有错误。

以上是JavaScriptt 请关注其他相关文章,了解更多关于值和引用的细节!


p
MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道