当前位置: 技术文章>> javascript的原始值与引用值以及代码示例

文章标题:javascript的原始值与引用值以及代码示例
  • 文章分类: 前端
  • 10828 阅读

在 JavaScript 中,数据类型可以分为原始值和引用值。原始值指的是简单的数据类型,如字符串、数字、布尔值、null 和 undefined;引用值指的是复杂的数据类型,如对象、数组、函数等。 原始值是通过值来比较的,也就是说,当两个变量的值相同时,它们就相等。而引用值是通过引用来比较的,也就是说,当两个变量引用同一个对象时,它们才相等。 下面是一些 JavaScript 中原始值和引用值的示例: 原始值

let a = 10;
let b = a; // b 的值为 10
b = 20; // a 的值不会改变,仍为 10

let str1 = "hello";
let str2 = str1; // str2 的值为 "hello"
str2 = "world"; // str1 的值不会改变,仍为 "hello"

let bool1 = true;
let bool2 = bool1; // bool2 的值为 true
bool2 = false; // bool1 的值不会改变,仍为 true

引用值

let obj1 = { name: "Alice", age: 20 };
let obj2 = obj1; // obj2 引用了 obj1 所指向的对象
obj2.age = 21; // obj1 和 obj2 都指向同一个对象,所以 obj1.age 也会变成 21

let arr1 = [1, 2, 3];
let arr2 = arr1; // arr2 引用了 arr1 所指向的数组
arr2.push(4); // arr1 和 arr2 都指向同一个数组,所以 arr1 的长度也会变成 4

function sayHello(name) {
  console.log(`Hello, ${name}!`);
}
let func1 = sayHello;
let func2 = func1; // func2 引用了 func1 所指向的函数
func2("Bob"); // 输出:Hello, Bob!

需要注意的是,当把一个引用值赋值给另一个变量时,它们实际上是共享同一个对象。因此,修改一个变量的值也会影响另一个变量的值。

推荐文章