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

yizhihongxing

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 window.setTimeout() 的详细用法

    JavaScript window.setTimeout() 的详细用法 在 JavaScript 中,window.setTimeout() 方法可以定时执行一个指定的代码块。它接收两个参数,分别是需要执行的代码块和执行时间(单位为毫秒)。 语法 window.setTimeout(code, delay); 其中,code 为需要执行的代码块;delay…

    JavaScript 2023年6月11日
    00
  • 深入了解JavaScript词法作用域

    深入了解JavaScript词法作用域 什么是词法作用域? 词法作用域指的是变量的作用域是在代码中定义时就确定的,而不是在运行时确定。JavaScript采用的是词法作用域,也就是静态作用域。 当在代码中执行变量引用时,JavaScript引擎会根据词法作用域(也就是代码中定义的位置)来决定该变量的值。 在JavaScript中,变量有两种:全局变量和局部变…

    JavaScript 2023年6月10日
    00
  • JavaScript实现表单验证示例

    下面是针对“JavaScript实现表单验证示例”的完整攻略: 1. 表单验证的基本思路 前端表单验证的基本思路是,当用户提交表单时,先阻止表单的默认提交行为,然后通过JavaScript对表单进行内容的检测和验证,如果发现问题,则提示用户并阻止表单的提交。否则,允许表单进行提交操作。 通常,表单验证的实现流程如下: 针对表单的提交事件进行监听; 在提交事件…

    JavaScript 2023年6月10日
    00
  • 详细聊聊闭包在js中充当着什么角色

    闭包是Javascript中一个非常重要的概念,它常常被用来解决一些特殊的问题。在深入探讨闭包在Javascript中扮演的角色之前,先来了解一下什么是闭包。 什么是闭包 在Javascript中,函数内部可以访问到函数外部的变量,而闭包就是指函数内部持有对函数外部变量的引用。 在Javascript中,每个函数都会创建一个作用域。当一个函数内部引用了外部的…

    JavaScript 2023年6月10日
    00
  • JS实现在状态栏显示打字效果完整实例

    下面是关于“JS实现在状态栏显示打字效果完整实例”的攻略: 1. 实现思路 在状态栏上显示打字效果,我们需要借助 JS 来动态地修改状态栏文字,并模拟打字效果。 具体实现思路如下: 设置一个状态栏元素,例如 <span> 标签。 通过 JS 动态修改状态栏文本,实现打字效果。 将打字效果分段,通过定时器控制每段文字的出现时间,实现逐个显示效果。 …

    JavaScript 2023年6月11日
    00
  • javascript 实现字符串反转的三种方法

    当我们需要对字符串进行操作时,有时候需要对字符串进行反转操作。下面我将介绍三种常见的JavaScript实现字符串反转的方法。 方法一:使用数组的reverse()方法 步骤如下: 将字符串转为数组 使用数组的reverse()方法进行反转 使用数组的join()方法将数组转化为字符串 示例代码如下: const str = ‘Hello World!’; …

    JavaScript 2023年5月28日
    00
  • 使用dynatrace-ajax跟踪JavaScript的性能

    使用Dynatrace AJAX跟踪JavaScript的性能可以帮助我们分析网站页面中的JavaScript代码的性能瓶颈,进而优化网站性能。下面是使用Dynatrace AJAX跟踪JavaScript的性能的完整攻略: 步骤一:安装Dynatrace AJAX Dynatrace AJAX是一款用于分析网站性能的浏览器扩展程序,可以方便地对网站进行性能…

    JavaScript 2023年6月11日
    00
  • js 显示日期时间的实例(时间过一秒加1)

    当我们需要在页面中显示当前的日期时间时,可以使用 JavaScript 编写代码来实现。我们可以使用Date()对象来获取当前的日期时间,并使用setInterval()函数来每秒更新时间。下面是一个基本的实例,可以每秒钟更新显示的时间: 代码实现 <p id="time"></p> <script> …

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