再谈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日

相关文章

  • JS中eval函数的使用示例

    下面是关于“JS中eval函数的使用示例”的完整攻略。 eval函数的作用及用法 eval函数可以将接受的字符串作为JavaScript代码来执行,并将执行结果返回。其最常见的用法是将字符串转换为可执行的代码,极大的增强了语言的灵活性。 eval函数的基本语法如下: eval(string) 其中,string是要执行的JavaScript代码字符串。 需要…

    JavaScript 2023年5月27日
    00
  • javascript:;与javascript:void(0)使用介绍

    当我们在HTML中使用”href”属性来定义一个链接时,有时会使用”javascript:”或”javascript:void(0)”作为链接的href值。这两个值虽然都可以用来防止页面跳转,但它们的作用是有所不同的。 “javascript:;” “javascript:;”这个值通常用来防止a标签产生默认跳转行为,因为当a标签的href属性的值为空时,点…

    JavaScript 2023年5月17日
    00
  • js前端获取用户位置及ip属地信息

    获取用户位置及IP属地信息是前端开发中的常见需求,可以帮助我们做更好的业务决策。在JavaScript中,我们可以使用HTML5的Geolocation API和第三方接口来实现这一功能。 方法一:使用HTML5 Geolocation API获取用户位置信息 HTML5提供了Geolocation API,可以利用浏览器获取用户位置信息。 步骤一:检查浏览…

    JavaScript 2023年6月11日
    00
  • 利用javaScript处理常用事件详解

    让我来为你详细讲解如何利用JavaScript处理常用事件的攻略。 1. 理解JavaScript事件机制 在使用JavaScript处理事件之前,我们需要先了解JavaScript事件机制。JavaScript事件机制是指通过用户交互或者代码触发某个事件,然后执行对应的事件处理程序的过程。常见的事件包括鼠标事件、键盘事件、表单事件、窗口事件等等。 2. 事…

    JavaScript 2023年5月17日
    00
  • 原生js jquery ajax请求以及jsonp的调用方法

    下面是详细讲解“原生js jquery ajax请求以及jsonp的调用方法”的完整攻略: 原生js ajax请求 原生js的ajax请求可以通过XMLHttpRequest对象实现。以下是ajax请求的基本流程: 创建一个XMLHttpRequest对象。 var xhr = new XMLHttpRequest(); 发送请求。 xhr.open(met…

    JavaScript 2023年5月27日
    00
  • JS中如何轻松遍历对象属性的方式总结

    当我们需要遍历 JavaScript 对象的属性时,我们可以使用 for…in 循环、Object.keys() 方法或 Object.getOwnPropertyNames() 方法。 for…in 循环遍历对象属性 for…in 循环会遍历对象的所有可枚举属性,包括原型链上的属性。对于每个属性,for…in 循环会执行一次循环体中的代码。…

    JavaScript 2023年5月27日
    00
  • 原生js实现轮播图的示例代码

    让我们一步步讲解如何使用原生JS实现轮播图。在开始之前,请确保你已经了解了HTML、CSS和基础的JavaScript知识。 1. HTML结构 首先,我们需要在HTML文件中创建我们的轮播图结构。下面是一个基本的例子: <div class="slider"> <div class="slides"…

    JavaScript 2023年6月10日
    00
  • JavaScript 中有关数组对象的方法(详解)

    JavaScript 中有关数组对象的方法(详解) 数组是 JavaScript 中非常常用的数据结构。在 JavaScript 中,数组对象有许多方法可以使用,比如添加元素、删除元素、查找元素等等。本文将详细介绍 JavaScript 中有关数组对象的方法。 数组的创建 在 JavaScript 中创建一个数组对象有多种方法: 使用字面量表达式 const…

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