JS常用内置对象

news/2024/9/19 22:48:22/ 标签: javascript, 开发语言, ecmascript

1. String 对象

创建对象

javascript">let str1 = "Hello, World!";
let str2 = 'JavaScript is great!';

常用 API:

  • length: 获取字符串长度
  • toUpperCase(): 将字符串转换为大写
  • toLowerCase(): 将字符串转换为小写
  • slice(start, end): 截取子字符串
  • indexOf(value): 查找字符串中某个值的索引
  • replace(): 替换字符串中的某个值

复制代码

javascript">let str = "Hello, JavaScript!";
console.log(str.length); // 输出: 17
console.log(str.toUpperCase()); // 输出: HELLO, JAVASCRIPT!
console.log(str.toLowerCase()); // 输出: hello, javascript!
console.log(str.slice(0, 5)); // 输出: Hello
console.log(str.indexOf("JavaScript")); // 输出: 7
console.log(str.replace("JavaScript", "World")); // 输出: Hello, World!

2. Array 对象

创建对象

通过方括号 [] 创建数组:

javascript">let arr1 = [1, 2, 3, 4, 5];

构造函数方式

使用 Array 构造函数创建数组:

javascript">let arr2 = new Array(1, 2, 3, 4, 5);

常用 API:

  • length: 获取数组长度
  • push(value): 在数组末尾添加一个元素
  • pop(): 移除数组末尾的元素
  • shift(): 移除数组开头的元素
  • unshift(value): 在数组开头添加一个元素
  • slice(start, end): 截取数组中的部分元素,左闭右开
  • map(callback): 对数组的每个元素应用一个回调函数,返回一个新数组
  • filter(callback): 根据条件过滤数组元素
  • find(callback): 查找第一个满足条件的元素
  • splice() 是 JavaScript 数组的一个常用方法,主要用于修改数组内容。它可以通过添加、删除或替换数组中的元素来对数组进行操作。

    javascript">array.splice(start, deleteCount, item1, item2, ..., itemN);
    • start: 表示从数组的哪个索引位置开始修改(可以是负数,表示从数组末尾向前数)。
    • deleteCount: 表示要删除的元素个数。
      • 如果为 0,则不会删除任何元素,只会插入新元素。
      • 如果未提供 deleteCount,则从 start 位置开始的所有元素都会被删除。
    • item1, item2, ..., itemN: (可选)要添加到数组中的元素。如果没有提供这些参数,splice() 只删除元素。
javascript">let arr = [1, 2, 3, 4, 5];
console.log(arr.length); // 输出: 5
arr.push(6);
console.log(arr); // 输出: [1, 2, 3, 4, 5, 6]
arr.pop();
console.log(arr); // 输出: [1, 2, 3, 4, 5]
arr.shift();
console.log(arr); // 输出: [2, 3, 4, 5]
arr.unshift(0);
console.log(arr); // 输出: [0, 2, 3, 4, 5]
let newArr = arr.slice(1, 3);
console.log(newArr); // 输出: [2, 3]
let mappedArr = arr.map(num => num * 2);
console.log(mappedArr); // 输出: [0, 4, 6, 8, 10]
let filteredArr = arr.filter(num => num > 3);
console.log(filteredArr); // 输出: [4, 5]
let foundItem = arr.find(num => num === 4);
console.log(foundItem); // 输出: 4

3. Object 对象

创建对象:

字面量方式

使用花括号 {} 创建对象:

javascript">let obj1 = { name: "Alice", age: 25, city: "New York" };

构造函数方式

使用 Object 构造函数创建对象:

javascript">let obj2 = new Object();obj2.name = "Bob"; 
obj2.age = 30; 
obj2.city = "Los Angeles";

字面量方式更常用且简洁。

常用 API:

  • Object.keys(obj): 获取对象的所有键
  • Object.values(obj): 获取对象的所有值
  • Object.entries(obj): 获取对象的键值对数组
  • hasOwnProperty(key): 检查对象是否有某个键
javascript">let person = { name: "Alice", age: 25, city: "New York" };
console.log(Object.keys(person)); 
// 输出: ['name', 'age', 'city']
console.log(Object.values(person)); 
// 输出: ['Alice', 25, 'New York']
console.log(Object.entries(person)); 
// 输出: [['name', 'Alice'], ['age', 25], ['city', 'New York']]
console.log(person.hasOwnProperty("age")); 
// 输出: true

4. Math 对象

创建对象:

Math 是一个内置对象,不能通过构造函数创建。直接使用 Math 对象提供的静态方法即可:

javascript">let randomNum = Math.random(); 
let maxNum = Math.max(10, 20, 30);

常用 API:

  • Math.round(): 四舍五入
  • Math.floor(): 向下取整
  • Math.ceil(): 向上取整
  • Math.max(): 获取最大值
  • Math.min(): 获取最小值
  • Math.random(): 生成 0 到 1 之间的随机数
javascript">console.log(Math.round(4.7)); // 输出: 5
console.log(Math.floor(4.7)); // 输出: 4
console.log(Math.ceil(4.1)); // 输出: 5
console.log(Math.max(10, 20, 30)); // 输出: 30
console.log(Math.min(10, 20, 30)); // 输出: 10
console.log(Math.random()); // 输出: 随机数

5. Date 对象

创建对象:

构造函数方式

使用 Date 构造函数创建日期对象:

javascript">let currentDate = new Date(); // 当前日期和时间 
let specificDate = new Date('2024-09-10T10:20:30Z'); // 指定日期

常用 API:

  • new Date(): 获取当前日期和时间
  • getFullYear(): 获取年份
  • getMonth(): 获取月份 (0-11)
  • getDate(): 获取日期 (1-31)
  • getDay(): 获取星期几 (0-6)
  • getHours(): 获取小时
  • getMinutes(): 获取分钟
  • getSeconds(): 获取秒
javascript">let date = new Date();
console.log(date); // 输出: 当前日期和时间
console.log(date.getFullYear()); // 输出: 当前年份
console.log(date.getMonth()); // 输出: 当前月份 (0-11)
console.log(date.getDate()); // 输出: 当前日期 (1-31)
console.log(date.getDay()); // 输出: 当前星期几 (0-6)
console.log(date.getHours()); // 输出: 当前小时
console.log(date.getMinutes()); // 输出: 当前分钟
console.log(date.getSeconds()); // 输出: 当前秒数

6. Number对象

Number.parseFloat()

解析一个字符串并返回浮点数。如果字符串不能被解析为数值,则返回 NaN

javascript">console.log(Number.parseFloat('3.14')); // 输出: 3.14
console.log(Number.parseFloat('abc')); // 输出: NaN
 Number.parseInt()

将一个字符串解析为整数,解析时可以指定基数(如十进制、二进制等)。

javascript">console.log(Number.parseInt('123')); // 输出: 123
console.log(Number.parseInt('1010', 2)); // 输出: 10 (二进制转十进制)
console.log(Number.parseInt('abc')); // 输出: NaN
Number.toString()

将数字转换为字符串,可以选择进制作为参数(默认为 10 进制)。

javascript">let num = 255;
console.log(num.toString()); // 输出: "255"
console.log(num.toString(16)); // 输出: "ff" (16进制)


http://www.ppmy.cn/news/1527417.html

相关文章

什么时候分表,什么时候分库?

1.垂直分表(拆字段) 一个表按照字段分为多个表, 可以很好的隔离核心数据和非核心数据 2.垂直分库 “专库专用”, 电商库一开始为商品表,物流表,商家表,订单表 垂直分库后的结果就是 商品库,商家库&#…

uniapp 如何自定义导航栏并自适应机型

如今的移动设备有各种不同的屏幕形状,如刘海屏、水滴屏等。这些异形屏会影响页面的布局,尤其是导航栏和底部栏的显示。通过获取安全区域信息,可以确保页面内容不会被异形屏的特殊区域遮挡。 在设计页面顶部导航栏时,可以根据 saf…

从Prompt到创造:解锁AI的无限潜能

文章目录 🍊AI内容创作核心:提示词Prompt1 什么是提示词工程?1.1 提示词的原理是什么?1.2 提示词工程师:百万年薪的职业?1.3 谁都能成为提示词工程师吗? 2 提示词书写的基本技巧3 常见的提示词框架3.1 CO-…

【Qt】绘图API

基本概念 在前面学习Qt过程中的各种控件,其本质上都是画出来的,这些都是比较常用的东西,Qt已经画好了,拿过来就可以使用,但是在实际开发过程中,现有的控件可能无法满足需求,就需要自己手动diy…

【计算机网络】第一章

目录 一、计算机网络的各种定义 二、计算机网络的发展 三、计算机网络的功能 四、计算机网络的分类 五、Internet的组成 六、交换 一、计算机网络的各种定义 Internet:因特网(外国资源) internet:互联网络(两个或…

服务器出现访问卡慢的原因有哪些

1、硬件性能不足:CPU负载过高:当服务器CPU处理能力不足以应对当前的请求量时,会导致网站响应缓慢。 内存不足:如果服务器的RAM不足以支持运行的应用程序和处理的数据量,可能会出现卡顿现象。 硬盘I/O瓶颈:老…

蚂蚁在 RAG 与向量检索上的实践:技术应用与创新分析

引言 在AI技术迅猛发展的背景下,如何有效地处理海量数据成为了技术创新的关键问题。向量数据库和RAG(Retrieval-Augmented Generation)技术结合,为提升生成式AI应用的准确性和实时性提供了有效的解决方案。本文结合蚂蚁集团在向量…

代理模式---静态代理和动态代理

代理模式 代理模式:给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。 代理模式角色分为 3 种: Subject(抽象主题角色):定义代理类和真实主题的公共对外方法…

NLP中文本生成任务

文本生成任务 1.生成式任务2.自回归模型实现3.Encoder-Decoder结构3.1Attention机制出现3.2Attention思想3.3soft - Attention3.4hard - Attention3.5Teacher Forcing3.6详解Mask Attention3.6.1通过Mask控制训练方式 4.生成式任务评价指标5.生成式任务常见问题5.1采样策略5.2指…

批量操作Excel的四个方法(求和、移动、对比、合并)

Excel文件肯定少不了保存大量数据,那么在使用excel的时候会不会要大批量数据进行操作?今天分享4个快速使用excel操作的小技巧。希望能够帮大家提高excel制作效率。 技巧一:快速求和 当你想要分别得到行列的总和,我们可以选中表格…

等保测评后:企业如何持续优化信息安全

通过信息安全等级保护(等保)测评,标志着企业达到了国家规定的安全标准,但这并非终点。在等保测评后,企业需要持续优化信息安全,保持和提升信息安全的防护水平,确保业务的稳定运行和数据的安全。…

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要:本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下,全渠道供应的运行机制。阐述各环节企业相互配合的重要性,重点分析零售企业在其中的关键作用,包括协调工作、信息传递、需求把握等方面,旨在实现高效的全…

Android Auto助力电动汽车智能驾驶

随着技术的飞速发展,电动汽车(EVs)成为未来出行的重要趋势。然而,EVs 的普及不仅仅代表环保选择,它们还推动了智能汽车技术的发展。Android Auto 的集成无疑为电动汽车用户带来了更便捷和智能的驾驶体验。 一、智能互联…

computed计算属性与watch侦听器

1.computed计算属性的写法有两种,一种是只读的,只负责展示,另一种可以进行修改,利用get来获取值,利用set来进行修改 2.watch侦听器的写法也有两种,可以直接写成函数,也可以写成对象,…

在 Docker 中部署无头 Chrome:在 Browserless 中运行

什么是 Browserless? Browserless 是一款基于云的浏览器解决方案,旨在实现高效的浏览器自动化、网页抓取和测试。 它利用 Nstbrowser 的指纹库,实现随机指纹切换,确保流畅的数据收集和自动化。得益于其强大的云基础设施&#xf…

iOS18相册大改遭吐槽,iOS18相册恢复iOS17的办法有哪些?

9月17日消息,苹果公司日前已推送了iOS 18正式版更新,除了支持高度自定义主屏幕、应用锁、游戏模式等功能外,自带的相册App也迎来了前所未有的重大更新。 然而,iOS 18正式版推送后,“iOS 18还我妈生相册、iOS 18丑等话…

向量数据库介绍及其与人工智能的关系

向量数据库是一种专门用于存储、管理和检索多维向量数据的数据库系统,以下是对它的详细介绍: 基本概念: 向量是由多个数值组成的数组,这些数值代表了数据在不同维度上的特征或属性。向量数据库就是以向量的形式存储数据&#xff0…

opencv 之 实战项目 识别银行卡上的数字

OpenCV 之 实战项目:识别银行卡上的数字 引言 在日常生活中,银行卡的识别是一个常见的需求,特别是在金融领域。本实战项目旨在使用 OpenCV 库来识别银行卡上的数字。我们将通过模板匹配的方法,结合图像处理技术,来准…

《A++ 敏捷开发》- 26 根与翼

中国社会一直非常强调家庭价值观,希望实现家族的持续传承,家族有族谱,代代相传的关系对每个家庭成员的成长产生深远影响。我们每个人都只是人类进化过程中的短暂过渡。父母普遍希望把最好的东西传承给下一代。然而我们需要问自己,…

MySQL 变量查询如何使用索引

MySQL 变量查询如何使用索引 1. 问题现象 在存储过程中,有通过变量进行数据查询,执行时间长,不符和预期,经过分析,发现是有一个变量查询的效率低,不走索引造成的。 在定义变量查询,不能使用索…