JavaScript对象内置对象,值类型和引用类型讲解

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技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JS中 new Date() 各方法的用法说明

    下面是JS中new Date()各方法的用法说明的攻略: Date对象 Date对象是JS中内置的一个对象,用来操作时间和日期。我们可以通过new Date()构造函数来创建一个Date对象。接下来我们就来详细地讲解一下Date对象中各方法的用法说明。 Date的构造函数 在使用Date对象时,我们可以通过构造函数 new Date() 来创建日期对象。该构…

    JavaScript 2023年5月27日
    00
  • js鼠标及对象坐标控制属性详细解析

    JS鼠标及对象坐标控制属性详细解析 在JavaScript中,有很多属性可以用来控制对象的位置,本文主要讲解与鼠标有关的一些属性,以及如何利用这些属性来控制对象的位置。 鼠标相关属性 event.clientX && event.clientY event.clientX表示鼠标相对于浏览器窗口可视区域的水平位置,event.clientY表…

    JavaScript 2023年6月11日
    00
  • JavaScript 解析Json字符串的性能比较分析代码

    为了解析 JSON 字符串,JavaScript提供了内置的JSON对象,其提供了 parse() 方法来将一个 JSON 字符串解析为 JavaScript 对象。 解析 JSON 字符串的性能会受到多种因素的影响,比如字符串长度、字符串结构、解析方式以及语言引擎优化等。 为了准确地分析和比较不同解析方式的性能,我们可以使用不同的测试用例和工具来进行测试和…

    JavaScript 2023年5月27日
    00
  • bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法

    对于这个话题,我们需要分开来看待。首先,我们需要了解 bootstrap 和 jQuery dataTable 的基本用法,然后再介绍如何异步刷新表格数据。 什么是 Bootstrap 和 jQuery DataTable? Bootstrap 是一个 web 开发框架,可以帮助开发者快速构建响应式的网站前端。它提供了许多常用的 UI 组件,如表单、导航、按…

    JavaScript 2023年6月11日
    00
  • JavaScript 数据结构之集合创建(2)

    让我们来详细讲解一下“JavaScript 数据结构之集合创建(2)”的完整攻略。 一、什么是集合? 集合是一种数据结构,用于存储一组不重复的元素。集合可以使用数组或对象实现,但是使用数组的方式会占用更多内存,因为数组需要存储每个元素的值和索引。 二、如何创建集合? 在JavaScript中,可以使用对象表示集合。每个键(key)都是集合中的一个元素,并且每…

    JavaScript 2023年5月28日
    00
  • 输入一个网址的时候,后台到底发生了一件件什么样的事

    当用户在浏览器中输入一个网址时,后台会经历如下过程: DNS解析 首先,浏览器需要将用户输入的网址转化为一个IP地址,这个过程称为DNS解析。浏览器将会向本地DNS服务器发出请求,本地DNS服务器可能会向上级DNS服务器继续发出请求,直到最终找到负责该域名的DNS服务器,并从中获取对应IP地址。如果本地DNS服务器中不存在对应域名的IP地址,将会继续向上级D…

    JavaScript 2023年6月10日
    00
  • Javascript Date setMilliseconds() 方法

    JavaScript 中的 setMilliseconds() 方法用于设置日期对象的毫秒部分。在本教程中,我们将详细介绍 setMilliseconds() 方法的使用方法。 setMilliseconds() 方法基本语法如下: date.setMilliseconds(msValue) 其中,msValue 是设置的毫秒值,必须是一个介于 0 到 99…

    JavaScript 2023年5月11日
    00
  • javascript for-in有序遍历json数据并探讨各个浏览器差异

    JavaScript for-in 有序遍历 JSON 数据并探讨各个浏览器差异 什么是JavaScript for-in? JavaScript for-in 语句循环遍历对象的属性。语句还会遍历可枚举的属性,其中不仅包括对象自己的属性,还包括从它的原型继承的属性。 如何使用JavaScript for-in有序遍历JSON数据? 在 JavaScript…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部