再谈Javascript中的基本类型和引用类型(推荐)

再谈JavaScript中的基本类型和引用类型

什么是基本类型和引用类型?

JavaScript中的数据类型可以分为基本类型和引用类型。基本类型包括数字、字符串、布尔值、null、undefined和Symbol;而引用类型包括对象、数组、函数等。

基本类型是指简单的数据段,而引用类型是指由多个数据段(属性)组成的对象,每个属性都可以是基本类型或引用类型。

基本类型和引用类型的区别

  1. 存储方式不同。基本类型的数据是直接存储在栈(stack)中的简单数据段,它们的值直接存储在变量访问的位置;而引用类型的值是对象,保存在堆(heap)内存中,而栈(stack)中保存的则是对象在堆内存中的地址。

  2. 赋值方式不同。基本类型的赋值是按值传递,也就是传递变量的值给新变量;而引用类型的赋值是按引用传递,也就是传递的是指向堆内存中的地址,因此两个变量指向同一个对象。

下面分别对基本类型和引用类型进行详细的解释和示例说明。

基本类型

数字

数字包括整数和浮点数,可以直接进行算术运算:

let num1 = 100;
let num2 = 3.14;
let result = num1 + num2; // 103.14

字符串

字符串是一个由零个或多个字符组成的序列,可以用单引号或双引号括起来:

let str1 = 'hello';
let str2 = "world";
let result = str1 + ' ' +str2; // "hello world"

布尔值

布尔值只有两个值:true和false,常用于条件判断和逻辑运算:

let flag1 = true;
let flag2 = false;
if(flag1 || flag2) {
  console.log("at least one is true");
} else {
  console.log("both are false");
}

null和undefined

null和undefined都表示没有值,区别在于null是表示变量没有对象,而undefined表示变量没有被初始化。两者在使用时的效果相似。

let a = null;
let b = undefined;
console.log(typeof a); // object
console.log(typeof b); // undefined

Symbol

Symbol是ES6引入的一种新的原始数据类型,用于创建独一无二的值,常用于对象属性的标识符。

let s1 = Symbol("foo");
let s2 = Symbol("foo");
console.log(s1 === s2); // false 因为Symbol创建的每个值都是独一无二的

引用类型

对象

对象是由多个键值对组成的集合,每个键对应一个值(可以是基本类型或引用类型),键值对之间用逗号分隔,整个对象使用花括号括起来。对象的属性可以通过点符号(对象.属性)或方括号(对象['属性'])进行访问。

let person = {
  name: {
    first: 'John',
    last: 'Doe'
  },
  age: 30,
  hobbies: ['reading', 'swimming', 'gaming']
};
console.log(person.name.first); // 'John'
console.log(person['age']); // 30
console.log(person.hobbies[0]); // 'reading'

数组

数组是由多个元素组成的集合,每个元素可以是基本类型或引用类型,用方括号括起来。数组可以用下标(从0开始)来访问各个元素。

let arr = [1, 'hello', true, {color: 'blue'}];
console.log(arr[0]); // 1
console.log(arr[1]); // 'hello'
console.log(arr[3].color); // 'blue'

函数

函数是一种可以被调用的对象,它可以传入参数并返回一个结果。函数也可以作为对象的属性进行调用。

function sum(a, b) {
  return a + b;
}

let person = {
  name: 'John',
  age: 30,
  greet: function() {
    console.log(`Hi, my name is ${this.name} and I'm ${this.age} years old.`);
  }
};

console.log(sum(10, 20)); // 30
person.greet(); // 'Hi, my name is John and I'm 30 years old.'

总结

基本类型和引用类型在存储方式、赋值方式等方面有着很大的不同,了解这些差别有助于我们更好地理解JavaScript中的数据类型,从而更加高效地编写代码。在编写代码时,需要根据具体情况选择适当的数据类型,以达到最佳的代码效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:再谈Javascript中的基本类型和引用类型(推荐) - Python技术站

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

相关文章

  • JavaScript深拷贝与浅拷贝实现详解

    JavaScript深拷贝与浅拷贝实现详解 什么是拷贝? 在JavaScript中,我们经常需要将对象或者数组进行复制操作,这被称为拷贝。在拷贝过程中,我们需要注意两个概念:浅拷贝和深拷贝。 什么是浅拷贝? 浅拷贝仅仅是复制了对象或数组的引用,而并没有克隆对象或数组。也就是说,对于被拷贝的对象或数组,它们的属性仍然指向原对象或数组中的属性。浅拷贝通常使用的方…

    JavaScript 2023年6月10日
    00
  • html页面展示json数据并格式化的方法

    展示 JSON 数据并格式化,通常有以下两种方法: 方法一:通过 JavaScript 进行格式化 通过 JavaScript 获取到 JSON 数据之后,可以使用 JSON 的 stringify 方法进行格式化,再将格式化后的结果插入到 HTML 页面中即可。 示例代码: <!DOCTYPE html> <html> <he…

    JavaScript 2023年5月27日
    00
  • javascript如何定义对象数组

    JavaScript 是一种面向对象的编程语言,支持使用对象进行编程。对象数组则是在 JavaScript 中一种常用的数据结构,通常使用对象数组存储一组相关的数据。定义对象数组可以通过以下步骤进行: 步骤一:定义对象的属性 首先,需要定义对象的属性。对象属性是一个键值对,其中“键”表示属性的名称,“值”则是属性的值。可以使用常规的 JavaScript 对…

    JavaScript 2023年5月27日
    00
  • JS实现导出Excel的五种方法详解【附源码下载】

    这里我来详细讲解一下“JS实现导出Excel的五种方法详解【附源码下载】”这篇文章。 一、背景介绍 文章首先对导出Excel的重要性进行了介绍,并指出了常见的几种导出Excel的场景,如表格报表、数据分析等。 二、五种导出Excel的方法 接着,文章依次介绍了五种导出Excel的方法,并附上了详细的源码和演示效果。 1.使用table2excel插件导出Ex…

    JavaScript 2023年6月11日
    00
  • JS 动态加载脚本的4种方法

    下面是JS动态加载脚本的4种方法的完整攻略。 1. 动态创建 script 标签并设置 src 属性 通过动态创建 script 标签并设置其 src 属性,可以实现动态加载脚本的效果。 const script = document.createElement(‘script’); script.src = ‘https://cdn.jsdelivr.ne…

    JavaScript 2023年5月27日
    00
  • 浅谈js多维数组和hash数组定义和使用

    针对“浅谈js多维数组和hash数组定义和使用”的话题,我来进行详细讲解。 多维数组 JavaScript中的多维数组,其实就是由多个一维数组组成的数组。我们可以使用一维数组来构建多维数组,比如: const multiArr = [ // 二维数组 [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; const threeDArr = […

    JavaScript 2023年5月27日
    00
  • JavaScript 程序循环结构详解

    JavaScript 程序循环结构详解 什么是循环结构 在编写程序时,经常需要重复执行某个操作,这就是循环结构。循环结构可以对一段代码重复执行多次,可以通过循环结构来节约代码量和提高执行效率。 JavaScript 中循环结构 JavaScript 中有两种常见的循环结构:for 循环和 while 循环。 for 循环 for 循环通常用于已知循环执行次数…

    JavaScript 2023年5月27日
    00
  • Javascript基础知识中关于内置对象的知识

    Javascript基础知识中关于内置对象的知识 Javascript中内置对象是指在语言中定义好的一些对象,可以直接使用,不需要进行任何的定义或引入。常见的内置对象有:String、Number、Boolean、Object、Array、Function、RegExp、Date等。 String对象 String对象表示文本字符串。它可以通过字面量、变量等…

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