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

yizhihongxing

再谈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学习心得_一个简单的动画库封装tween.js

    我来详细讲解“js学习心得_一个简单的动画库封装tween.js”的完整攻略。 1. 什么是Tween.js Tween.js 是一个小巧、功能强大的 JavaScript 动画引擎库,封装了比较常见的动画算法,并且使用非常简单,方便开发者使用。Tween.js 可以用于所有支持 JavaScript 的平台。 2. 如何使用Tween.js 2.1 引入T…

    JavaScript 2023年6月10日
    00
  • 用Javascript获取页面元素的具体位置

    获取页面元素的具体位置,一般使用Javascript中的offsetLeft和offsetTop属性来实现。这两个属性分别表示该元素相对于其父元素的水平和垂直位置,单位为像素。 以下是实现该功能的具体攻略: 步骤一:获取元素 首先我们需要获取需要获取位置的元素,可以通过以下方式获取: var element = document.getElementById…

    JavaScript 2023年6月10日
    00
  • js 有框架页面跳转(target)三种情况下的应用

    下面就来详细讲解一下“js 有框架页面跳转(target)三种情况下的应用”的攻略。 什么是框架页面跳转? 框架页面跳转通俗地说就是网页中嵌套了多个页面,其中一个主页面中包含了若干个子页面,用户可以在主页面中通过点击链接或者按钮切换显示不同的子页面。这种页面架构成为框架页面。 而在js中,我们可以通过修改a标签的target属性来实现页面跳转的不同渲染方式。…

    JavaScript 2023年6月11日
    00
  • AngularJS通过ng-route实现基本的路由功能实例详解

    下面我将详细讲解“AngularJS通过ng-route实现基本的路由功能实例详解”的完整攻略。 1. 什么是AngularJS? AngularJS是一种优秀的前端JavaScript框架; 可以通过它快速构建Web应用; 品牌背后的公司是Google。 2. 什么是ng-route? AngularJS的ng-route是一种路由功能; 可以用它来使得不…

    JavaScript 2023年6月11日
    00
  • Javascript MIN_VALUE 属性

    以下是关于JavaScript MIN_VALUE属性的完整攻略。 JavaScript MIN_VALUE属性 JavaScript MIN_VALUE属性是Number对象的一个属性,它表示JavaScript中最小的正数,约为5E-324。MIN_VALUE属性是一个常量,它不能被修改。 下面是一个使用MIN_VALUE属性的示例: console.l…

    JavaScript 2023年5月11日
    00
  • JavaScript中的数值范围介绍

    JavaScript中的数值范围介绍 在 JavaScript 中,数值类型是一种很常用的数据类型。它可以表示整数和小数,并支持各种基本运算。但是,JavaScript中的数值类型也存在一些限制,包括数值范围和精度等问题。本文主要介绍 JavaScript 中数值类型的数值范围相关知识。 JavaScript中支持的数值范围 JavaScript 中的数值类…

    JavaScript 2023年5月18日
    00
  • JS 实现 ajax 异步浏览器兼容问题

    JS 实现 ajax 异步浏览器兼容问题 什么是 AJAX AJAX (Asynchronous JavaScript and XML) 是一种通过后台与服务器进行数据交换,而无需重新加载整个页面的技术,在 Web 开发中广泛应用。以下是 AJAX 的一些优点: 可以在不刷新页面的情况下更新页面内容 能够异步地获取数据,并把数据显示在页面上 能够使用服务器应…

    JavaScript 2023年6月11日
    00
  • js页面跳转常用的几种方式

    下面是关于“js页面跳转常用的几种方式”的完整攻略。 一、背景 在web应用中,页面跳转是非常常见的操作。而在前端开发中,我们通常使用JavaScript来实现页面的跳转功能。本文将介绍js页面跳转的常用几种方式。 二、常用的几种方式 1.通过window.location.href实现页面跳转 代码形式如下: window.location.href = …

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