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日

相关文章

  • JavaScript删除字符串中指定字符的4种方法汇总

    JavaScript删除字符串中指定字符的4种方法汇总 在 JavaScript 中,我们可以通过不同的方法实现删除字符串中指定字符的操作。本文将为你介绍四种常见的方法,分别是: 使用 replace() 方法 使用 split() 和 join() 方法 使用正则表达式 使用字符串切片 接下来我们会一一介绍这些方法,并给出具体的实现示例。 方法一:使用 r…

    JavaScript 2023年5月28日
    00
  • JS用最简单的方法实现四舍五入

    下面是详细讲解“JS用最简单的方法实现四舍五入”的攻略。 1. 方法一:使用Math.round()函数 JS中自带一个方法Math.round(),可以实现四舍五入功能,方法如下: Math.round(x) // x为需要四舍五入的数字 示例代码: var num1 = 12.3; var num2 = 12.6; console.log(Math.ro…

    JavaScript 2023年5月28日
    00
  • 超详细的JS弹出窗口代码大全

    超详细的JS弹出窗口代码大全 JavaScript弹出窗口是一种常见的前端交互方式,可以让网站更加美观和实用。本文将为大家介绍超详细的JS弹出窗口代码大全,包括弹出模态框、提示框、提示确认框等几种常见的弹窗,以及一些实用的技巧和注意事项。 弹出模态框 模态框是一种常见的弹出框类型,可以在当前页面上弹出一个居中的对话框,并阻止用户对其他元素进行操作。下面是一个…

    JavaScript 2023年5月27日
    00
  • Java 面试题和答案 -(上)

    让我详细讲解一下“Java 面试题和答案 -(上)”的完整攻略。 标题 首先,我们需要为文章设置一个标题。根据文章内容,我建议将标题设置为“Java 面试题和答案 -(上)完整攻略”。 内容 接下来,我们可以按照以下步骤来编写文章内容: 介绍Java面试题的重要性以及面试的基本流程。 列举10道常见的Java面试题,此处不仅需要列举问题,也需要对每个问题进行…

    JavaScript 2023年5月28日
    00
  • JavaScript之json_动力节点Java学院整理

    JavaScript之json_动力节点Java学院整理 什么是JSON JSON(JavaScript Object Notation)是一种轻量级、易于人阅读和编写的数据交换格式,其数据结构与Javascript中对象字面量相似,因此常用于与Javascript进行数据交互。 JSON的数据格式包括两种结构类型:对象和数组。对象是一个无序的“键/值”对集…

    JavaScript 2023年6月11日
    00
  • JS 拦截全局ajax请求实例解析

    让我来给大家详细讲解一下“JS 拦截全局ajax请求实例解析”的完整攻略。 什么是全局ajax请求 全局ajax请求指在整个页面中,所有发起ajax请求的位置都被拦截并进行处理。这就需要对ajax进行拦截和处理控制,这样可以更好地控制页面数据请求。 为什么要拦截全局ajax请求 拦截全局ajax请求可以实现以下目的: 统一处理数据请求,便于管理和维护。 能够…

    JavaScript 2023年6月11日
    00
  • 21个值得收藏的Javascript技巧

    下面就是“21个值得收藏的Javascript技巧”的完整攻略。 1. 使用变量解构(destructuring)来简化你的代码 解构可以让你从一个数据结构中将数据提取到单独的变量中,从而简化你的代码。示例: const obj = { a: 1, b: 2, c: 3 }; // 使用解构简化代码 const { a, b } = obj; console…

    JavaScript 2023年5月18日
    00
  • php基于jquery的ajax技术传递json数据简单实例

    下面开始详细讲解“php基于jquery的ajax技术传递json数据简单实例”的完整攻略: 一、什么是 AJAX? AJAX(Ajax Asynchronous Javascript and XML),即异步的 JavaScript 和 XML。它是一种在Web页面直接与服务器进行数据交互的技术,可以提高页面的交互能力,免去了页面的刷新,页面在不刷新的情况…

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