紅寶書第十三講:詳解JavaScript核心對象:Array、Object、Date、RegExp


紅寶書第十三講:詳解JavaScript核心對象:Array、Object、Date、RegExp

資料取自《JavaScript高級程序設計(第5版)》。
查看總目錄:紅寶書學習大綱


一、Object:萬物皆對象的“盒子”

Object是JavaScript中最基礎的數據容器,像動態存儲的抽屜,可隨時添加/刪除屬性,支持鍵值對存儲 1

示例:創建用戶信息對象
// 方式1:字面量直接聲明
const user = {name: '小明',age: 20,getInfo: function() {return `${this.name}今年${this.age}`;}
};
console.log(user.getInfo()); // "小明今年20歲"// 方式2:構造函數new Object()
const car = new Object();
car.brand = 'Toyota';
car.drive = () => console.log('行駛中...');car.drive(); // "行駛中..."

1: 參考資料3說明對象通過動態屬性管理數據


二、Array:有序的“列表清單”

數組是按順序排列的集合,每個元素有索引(從0開始),支持動態增刪改查 2

示例:操作學生分數數組
// 創建數組(兩種方式)
const scores1 = [85, 92, 78];      // 字面量快捷方式
const scores2 = new Array(70, 88); // 構造函數// 常用方法
scores1.push(95);       // 末尾添加 → [85, 92, 78, 95]
scores1.pop();          // 刪除末尾 → [85, 92, 78]
const highScores = scores1.filter(score => score > 90); // 過濾 → [92]
const str = scores1.join("、"); // 轉字符串 → "85、92、78"// 用map生成新數組
const comments = scores1.map(score => score >= 80 ? "優秀" : "待提高"
); // ["優秀", "優秀", "待提高"]

2: 參考資料6詳細列出了數組的push/filter/map等方法


三、Date:時間管理的“日歷”

Date對象用于處理日期和時間的計算,能精確到毫秒 3

示例:記錄事件時間
// 創建當前時間
const now = new Date();
console.log(now); // 輸出類似:Thu Dec 07 2023 14:30:00 GMT+0800// 指定日期(注意月份從0開始)
const birthday = new Date(2000, 0, 1); // 2000年1月1日
console.log(birthday.getFullYear());  // 2000// 計算時間差(毫秒為單位)
const diff = now - birthday;
const years = Math.floor(diff / (1000*60*60*24*365)); 
console.log(`年齡:${years}`);

3: 參考資料1和2重點描述了Date類型的方法(如getFullYear())


四、RegExp:文字偵探“正則表達式”

RegExp用模式匹配規則來查找或驗證字符串,類似通配符的增強版 4

示例:驗證郵箱格式
// 創建正則表達式(兩種方式)
const emailPattern1 = /^[a-zA-Z0-9_]+@[a-z]+\.[a-z]+$/; // 字面量
const emailPattern2 = new RegExp('^\\w+@[a-z]+\\.[a-z]+$'); // 構造函數// 測試字符串是否符合規則
console.log(emailPattern1.test('user@example.com')); // true
console.log(emailPattern1.test('invalid.email'));    // false// 提取字符串中的數字
const text = "訂單號:7890,金額:¥560";
const numbers = text.match(/\d+/g); 
console.log(numbers); // ["7890", "560"]

4: 參考資料1和2提到RegExp的test方法和實例屬性


目錄:總目錄
上篇文章:紅寶書第十二講:詳解JavaScript中的工廠模式與原型模式等各種設計模式
下篇文章:紅寶書第十四講:詳解JavaScript集合類型:Map、Set、WeakMap

腳注


  1. 《JavaScript高級程序設計(第5版)》(第8章對象屬性)討論了對象屬性管理方式。 ?? ??

  2. 《JavaScript高級程序設計(第5版)》(第6章Array類型)詳細說明數組操作方法。 ?? ??

  3. 《JavaScript高級程序設計(第5版)》中的“Date類型”章節描述時間處理方法。 ?? ??

  4. 《JavaScript高級程序設計(第5版)》介紹了RegExp的創建和實例方法。 ?? ??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73291.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73291.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73291.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

昆侖技術重構AI大模型落地范式,長期作“加法”迎來國產生態化“拐點”

作者 | 曾響鈴 文 | 響鈴說 DeepSeek的爆火,在業內迅速掀起了一場國產化的變革。“國產大模型國產算力”軟硬協同的范式正在被重構,AI產業國產化的含金量持續提升,越來越多的企業在這一趨勢下加速走上數智化轉型路徑。 其中,以…

原開源鴻蒙倉庫停止更新

2月24日,gitee 上的開源鴻蒙組織,所有代碼停止更新,查看代碼倉顯示已關閉,不少小伙伴以為停止更新了,發生了什么? 原因很簡單,所有代碼倉遷移至 Gitcode,至于為什么改用 Gitcode&…

Spring Boot框架中常用注解

以下是Spring Boot框架中常用注解的詳細說明,包括名稱、用途、用法、使用位置及擴展示例,按功能模塊分類整理: 一、核心啟動與配置注解 1. SpringBootApplication 用途:主啟動類注解,整合了 Configuration、EnableAu…

Azure Delta Lake、Databricks和Event Hubs實現實時欺詐檢測

設計Azure云架構方案實現Azure Delta Lake和Azure Databricks,結合 Azure Event Hubs/Kafka 攝入實時數據,通過 Delta Lake 實現 Exactly-Once 語義,實時欺詐檢測(流數據寫入 Delta Lake,批處理模型實時更新&#xff0…

車載以太網網絡測試 -23【TCPUDP通信示例】

1 摘要 在車載通信場景中,TCP以及UDP的通信可以用于多種應用,例如車輛狀態監控、遠程控制、數據采集等。以下是詳細的代碼示例,展示了如何使用Python實現簡單的TCP客戶端與服務端通信以及簡單的UDP客戶端與服務端通信,并模擬了車…

SpringBoot大學生競賽管理系統設計與實現

一個用于管理大學生競賽報名、信息查詢與競賽管理的系統,采用了現代化的SpringBoot框架進行開發。該系統的主要功能包括學生信息管理、教師信息管理、競賽報名審核、競賽信息管理等模塊,適用于學校或教育機構進行競賽活動的組織與管理。系統界面簡潔&…

深入解析libsunrpc:構建分布式系統的核心RPC庫

深入解析libsunrpc:構建分布式系統的核心RPC庫 引言 在分布式系統開發中,遠程過程調用(Remote Procedure Call, RPC) 是連接不同節點、實現跨網絡服務調用的關鍵技術。作為SUN公司開源的經典RPC實現,libsunrpc 憑借其…

MinIO搭建部署

1、命令行安裝 訪問monio官網下載應用程序 # wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250228095516.0.0-1.x86_64.rpm -O minio.rpm # sudo dnf install minio.rpm # mkdir ~/minio # minio server ~/minio --console-address :90012、dock…

Linux修改SSH端口號

我這里那RedHat系列的操作系統舉例,修改SSH端口號 修改SSH配置文件:/etc/ssh/sshd_config,將端口號修改為2222.vim /etc/ssh/sshd_config重啟SSH服務systemctl restart sshd# 如果是比較舊的OS,使用下面的命令重啟 service ssh restart驗證端口更改是否成功netstat -tulnp …

【嵌入式Linux】基于ArmLinux的智能垃圾分類系統項目

目錄 1. 功能需求2. Python基礎2.1 特點2.2 Python基礎知識2.3 dict嵌套簡單說明 3. C語言調用Python3.1 搭建編譯環境3.2 直接調用python語句3.3 調用無參python函數3.4 調用有參python函數 4. 阿里云垃圾識別方案4.1 接入阿里云4.2 C語言調用阿里云Python接口 5. 香橙派使用攝…

【商城實戰(63)】配送區域與運費設置全解析

【商城實戰】專欄重磅來襲!這是一份專為開發者與電商從業者打造的超詳細指南。從項目基礎搭建,運用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用戶、商品、訂單等核心模塊開發,再到性能優化、安全加固、多端適配&#xf…

字節跳動實習生主導開發強化學習算法,助力大語言模型性能突破

目錄 禹棋贏的背景與成就 主要成就 DAPO算法的技術細節 算法優勢 禹棋贏的研究歷程 關鍵時間節點 字節跳動的“Top Seed人才計劃” 計劃特點 小編總結 在大模型時代,經驗不再是唯一的衡量標準,好奇心、執行力和對新技術的敏銳洞察力成為推動技術…

Rust + 時序數據庫 TDengine:打造高性能時序數據處理利器

引言:為什么選擇 TDengine 與 Rust? TDengine 是一款專為物聯網、車聯網、工業互聯網等時序數據場景優化設計的開源時序數據庫,支持高并發寫入、高效查詢及流式計算,通過“一個數據采集點一張表”與“超級表”的概念顯著提升性能…

使用LangChain實現基于LLM和RAG的PDF問答系統

目錄 前言一.大語言模型(LLM)1. 什么是LLM?2. LLM 的能力與特點 二、增強檢索生成(RAG)三. 什么是 LangChain?1. LangChain 的核心功能2. LangChain 的優勢3. LangChain 的應用場景4. 總結 四.使用 LangChain 實現基于 PDF 的問答系統 前言 本文將介紹 …

群核科技持續虧損近18億:營銷費用偏高,市場份額優勢面臨挑戰

《港灣商業觀察》施子夫 2025年開年,DeepSeek的爆火讓大眾將目光聚焦到了“杭州六小龍”。其中,杭州群核信息技術有限公司(以下簡稱,群核科技)因系“六小龍”中首家啟動上市的公司而被外界更多關注。 在此次遞表港交…

java版嘎嘎快充玉陽軟件互聯互通中電聯云快充協議充電樁鐵塔協議汽車單車一體充電系統源碼uniapp

演示: 微信小程序:嘎嘎快充 http://server.s34.cn:1888/ 系統管理員 admin/123456 運營管理員 yyadmin/Yyadmin2024 運營商 operator/operator2024 系統特色: 多商戶、汽車單車一體、互聯互通、移動管理端(開發中) 另…

音視頻學習(三十):fmp4

FMP4(Fragmented MP4)是 MP4(MPEG-4 Part 14)的擴展版本,它支持流式傳輸,并被廣泛應用于DASH(Dynamic Adaptive Streaming over HTTP)和HLS(HTTP Live Streaming&#xf…

26考研——圖_圖的存儲(6)

408答疑 文章目錄 二、圖的存儲圖的存儲相關概念鄰接矩陣存儲方式鄰接矩陣的定義頂點的度計算鄰接矩陣的特點鄰接矩陣的局限性 應用場景鄰接矩陣的冪次意義(了解即可) 鄰接表存儲方式鄰接表定義鄰接表結構鄰接表的特點 鄰接矩陣和鄰接表的適用性差異十字…

以高斯(GaussDB) 為例, 在cmd 命令行連接數據,操作數據庫,關閉數據庫的詳細步驟

以下是使用 Windows 命令行(cmd) 操作 GaussDB(以 GaussDB(for openGauss) 社區版為例) 的詳細步驟,涵蓋 連接數據庫、基本操作、關閉數據庫 的全流程: 1. 環境準備 前提條件: 安裝 GaussDB&a…

HAL庫定時器配置

定時器的開啟需要手動開啟,例如在driver_capature.c開啟,該文件主要寫了具體的函數實現,與driver_can.c一樣,同時還有回調函數等一些高級的自定義函數。 這段代碼是 STM32 HAL 庫中用于初始化 定時器 2 (TIM2) 的函數 MX_TIM2_In…