欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > JavaScript传值与传址 - 2024最新版前端秋招面试短期突击面试题【100道】

JavaScript传值与传址 - 2024最新版前端秋招面试短期突击面试题【100道】

2025/6/28 10:17:38 来源:https://blog.csdn.net/everfoot/article/details/143313100  浏览:    关键词:JavaScript传值与传址 - 2024最新版前端秋招面试短期突击面试题【100道】

JavaScript传值与传址 - 2024最新版前端秋招面试短期突击面试题【100道】

在JavaScript中,理解变量的传递机制至关重要。变量可以分为两种类型:基本类型和引用类型。它们在赋值和传递时的行为有着显著的不同,掌握这些差异将帮助你更好地理解语言的运作。

基本类型(值类型) 🔢

基本类型包括以下几种:

  • Number:数值类型
  • String:字符串类型
  • Boolean:布尔类型
  • Undefined:未定义类型
  • Null:空类型
  • Symbol:符号类型(ES6+)

赋值与传递

在处理基本类型时,赋值和传递的行为如下:

  • 赋值:当一个基本类型的值被赋给另一个变量时,会创建该值的副本。
  • 传递:在函数参数传递时,基本类型的值也是作为副本传递。

示例代码

let a = 10;
let b = a; // b 获得的是 a 的副本
a = 20; // b 的值不会改变,仍然是 10function changeValue(num) {num = 30; // 修改的是 num 的副本
}
changeValue(a);
console.log(a); // 输出 20,并没有因为在 changeValue 函数中被改变

引用类型(对象类型) 🧩

引用类型主要包括:

  • Object:对象类型
  • Array:数组类型
  • Function:函数类型

赋值与传递

处理引用类型时,赋值和传递的行为如下:

  • 赋值:给一个引用类型变量赋值时,实际是将对象的引用(地址)赋给该变量。
  • 传递:在函数参数传递时,也是将引用传递。

示例代码

let obj1 = { name: 'Alice' };
let obj2 = obj1; // obj2 指向 obj1 所引用的对象
obj1.name = 'Bob'; // obj2 的 name 也会变为 'Bob'function changeObject(obj) {obj.name = 'Charlie'; // 修改的是 obj 所引用的对象
}
changeObject(obj1);
console.log(obj1.name); // 输出 'Charlie'

总结 📝

  • 基本类型变量存储的是值本身,赋值和传递时都是值的副本。
  • 引用类型变量存储的是对象的引用(地址),赋值和传递时都是引用的副本。
  • 修改基本类型变量的值不会影响其他引用该值的变量。
  • 修改引用类型变量的值会影响所有引用该值的变量。

注意事项

函数参数传递遵循上述规则:基本类型参数是值传递,而引用类型参数是引用传递。这一特性在编写代码时需特别留意,以避免意外修改数据。掌握这些基本概念,将为你的前端面试加分不少,祝你顺利上岸!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词