JavaScript对象内置对象、值类型和引用类型讲解
在JavaScript中,有一些内置对象和数据类型,它们是我们在Web开发中常用到的。本文将对JavaScript对象内置对象、值类型和引用类型进行讲解,帮助读者深入理解它们。
对象内置对象
对象内置对象指的是JavaScript本身提供的一些对象,它们可以直接调用来完成特定的任务。以下是一些常见的内置对象:
Math对象
Math对象提供了一些数学相关的方法和属性,如计算平方根、随机数等等。例如,要获取一个0到1之间的随机小数可以使用以下代码:
let randomNum = Math.random();
console.log(randomNum);
Date对象
Date对象可以获取或设置日期和时间。以下是一些Date对象的常用方法:
let today = new Date();
console.log(today.getFullYear());
console.log(today.getMonth());
console.log(today.getDate());
console.log(today.getDay());
console.log(today.getHours());
console.log(today.getMinutes());
console.log(today.getSeconds());
console.log(today.getTime());
getDate()方法用于获取今天是几号,getDay()方法则返回星期几的索引值(0表示星期日)。
String对象
String对象用于处理文本字符串,它包含了一些字符串相关的方法和属性。以下是一些常见的String对象方法:
let str = "Hello, world!";
console.log(str.slice(0, 5));
console.log(str.toUpperCase());
console.log(str.toLowerCase());
console.log(str.length);
slice()方法用于截取一个字符串,toUpperCase()和toLowerCase()方法用于将字符串转换成全部大写或全部小写,length属性则返回字符串的长度。
值类型和引用类型
值类型和引用类型指的是常量或变量在内存中的存储方式和复制方式不同。在JavaScript中,有6种原始值类型,分别是undefined、null、boolean、number、string和symbol。我们通过以下代码创建一个数值类型变量:
let a = 123;
在这种情况下,变量a中储存的就是具体的数值123。
除了原始值类型外,其他所有JavaScript中的类型都是引用类型。这也包括了对象类型(Object)、数组类型(Array)、函数类型(Function)等等。我们通过以下代码创建一个对象类型变量:
let obj = {
value: 123
};
在这种情况下,变量obj中不会储存具体的数值,而是储存一个指向这个对象的引用。
值类型的赋值
当一个值类型的变量被赋予另一个变量时,实际上是在内存中创建了一个新的变量,并将原变量的值复制给新的变量。例如:
let a = 123;
let b = a;
a = 456;
console.log(a,b);
在这个例子中,变量a中的值是123,当我们将a赋值给变量b时,变量b中的值也变成了123。但是当我们将a的值修改为456时,b的值并不会受到影响,因为它们指向的是不同的内存单元。
引用类型的赋值
与值类型不同,当一个引用类型的变量被赋值给另一个变量时,实际上是将原变量的引用地址复制给新的变量。例如:
let obj1 = {
value: 123
};
let obj2 = obj1;
obj1.value = 456;
console.log(obj1.value,obj2.value);
在这个例子中,当我们将obj1的值赋值给obj2时,实际上是将obj1里面存放的引用地址赋值给obj2。所以,当我们修改obj1中的value值为456时,obj2也会受到影响,并输出456。
示例说明
示例1:对象类型的赋值
在以下代码中,我们创建了两个对象person1和person2,将person1的值赋给person2。我们将修改person1.age的值,然后输出person1和person2的age属性值。运行代码后,我们得到的结果是20和20。这是因为person1和person2都指向同一个对象。虽然我们的代码将person1的值赋给person2,但实际上它们共享同一个对象。
let person1 = { name: "John", age: 20 };
let person2 = person1;
person1.age = 30;
console.log(person1.age,person2.age); // 30, 30
示例2:原始值类型的赋值
在以下代码中,我们创建了两个数值类型的变量a和b,将a的值赋给b。我们将修改a的值,然后输出a和b的值。运行代码后,我们得到的结果是456和123。这是因为a和b是两个不同的变量,它们的内存地址不同,因此b的值不会受到a的修改的影响。
let a = 123;
let b = a;
a = 456;
console.log(a,b);
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript对象内置对象,值类型和引用类型讲解 - Python技术站