JavaWeb JavaScript ⑤ JS常见对象

某一瞬间,是平静的自我接纳

                                —— 24.8.27

一、数组

1.创建数组的四种方式

① new Array()        创建空数组

② new Array(5)        创建数组时给定长度

③ new Array(ele1,ele2,…,elen);        创建数组时给定元素值

④ [ele1,ele2,…,elen]        相当于上面写法的简写

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<script>/*1.数组1>数组的创建方式2>数组的API3>JS中的数组更像Java中的集合*/// 1.数组的创建方式// 1.1 方式一var arr = new Array(); // 创建一个空数组console.log(arr); // []console.log(arr.length); // 0// 向数组中添加数据arr[0]="hello"arr[1]="world"arr[7]=10arr[9]=truearr.length=20console.log(arr[5])console.log(arr); // ["hello", "world", undefined × 5, 10, undefined × 15]console.log(arr.length); // 20// 1.2 方式二var arr2 = ["hello", "world", 10, true];console.log(arr2); // ["hello", "world", 10, true]console.log(arr2.length); // 4// 1.3 方式三var arr3 = Array(10); // 创建一个长度为10的数组console.log(arr3); // [undefined × 10]console.log(arr3.length); // 10// 1.4 方式四var arr4 = Array.of(1, 2, 3, 4); // 创建一个包含1,2,3,4的数组console.log(arr4); // [1, 2, 3, 4]console.log(arr4.length); // 4</script>
<body></body>
</html>

2.数组常见API

① push,在数组的末尾添加元素

   // 2.数组的API// 2.1 push()       在数组的末尾添加一个或多个元素var arr5 = [1, 2, 3];arr5.push(4); // 在数组的末尾添加一个元素console.log(arr5); // [1, 2, 3, 4]console.log(arr5.length); // 4var arr6 = [1, 2, 3];arr6.push(4, 5, 6); // 在数组的末尾添加多个元素console.log(arr6); // [1, 2, 3, 4, 5, 6]console.log(arr6.length); // 6

② concat,合并两数组

    // 2.API// 2.2 concat()     合并两个数组var fruits = ["apple", "banana", "orange"];var fruits2 = ["grape", "pear"];var newFruits = fruits.concat(fruits2); // 合并两个数组console.log(newFruits); // ["apple", "banana", "orange", "grape", "pear"]

③ pop,移除并返回最后一个元素

    // 2.3 pop()        删除数组的最后一个元素,并返回该元素的值var arr7 = [1, 2, 3, 4];var last = arr7.pop(); // 删除数组的最后一个元素,并返回该元素的值console.log(last); // 4console.log(arr7); // [1, 2, 3]

④ lastIndexOf()        搜索数组中的元素,并返回它最后出现的位置

    // 2.4 lastIndexOf()    返回指定元素在数组中最后出现的索引,如果不存在则返回-1var arr8 = [1, 2, 3, 2, 8,7,9,1];var index = arr8.lastIndexOf(1); // 返回指定元素在数组中最后出现的索引console.log(index); // 7console.log(arr8.lastIndexOf(5)); // -1

⑤ reverse 反转数组

    // 2.5 reverse()     反转数组var arr9 = [1, 2, 3, 4];arr9.reverse(); // 反转数组 console.log(arr9); // [4, 3, 2, 1]

⑥ 删除数组的第一个元素,并返回值

    // 2.6 shift()       删除数组的第一个元素,并返回该元素的值var arr10 = [1, 2, 3, 4];var first = arr10.shift(); // 删除数组的第一个元素,并返回该元素的值    console.log(first); // 1console.log(arr10); // [2, 3, 4]

⑦ 返回数组的拷贝

    // 2.7 slice()      返回数组的拷贝var arr11 = [1, 2, 3, 4];var copy = arr11.slice(1, 3); // 返回数组的拷贝console.log(copy); // [2, 3]

⑧ 对数组进行排序

    // 2.8 sort()       对数组进行排序var arr12 = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];arr12.sort(); // 对数组进行排序console.log(arr12); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

⑨ splice()     修改数组的元素

可以从数组中删除元素,可以向数组中添加元素

    // 2.9 splice()     修改数组的元素,可以从数组中删除元素,可以向数组中添加元素var arr13 = [1, 2, 3, 4];arr13.splice(1, 2, "a", "b"); // 从索引1处删除两个元素,并添加“a”、“b”两个元素console.log(arr13); // [1, "a", "b",  4]

⑩ unshift()    在数组的开头添加一个或多个元素

    // 2.10 unshift()    在数组的开头添加一个或多个元素var arr14 = [1, 2, 3, 4];arr14.unshift("a", "b"); // 在数组的开头添加一个或多个元素console.log(arr14); // ["a", "b", 1, 2, 3, 4]

二、Boolean对象

boolean对象的的方法比较简单

boolean对象常见API

① toString        把布尔值转换为字符串,并返回结果

    // 3.Boolean对象// 3.1 ① toString        把布尔值转换为字符串,并返回结果var bool = new Boolean(true);console.log(bool.toString()); // true

② valueOf        返回Boolean对象的原始值

    // 3.2 ② valueOf        返回Boolean对象的原始值var bool2 = new Boolean(false);console.log(bool2.valueOf()); // false

③ Boolean        转换为布尔值

    // 3.3 ③ Boolean()       转换为布尔值var bool3 = Boolean("hello"); // 字符串"hello"转换为布尔值console.log(bool3.valueOf()); // true

三、JS常用对象API

① date对象        ② math对象        ③ String对象        ④ number对象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>// 1.Date对象// 创建Date对象var date = new Date();// 获取当前时间戳var timestamp = date.getTime();console.log(timestamp); // 1724721557734// 将时间戳转换为日期格式var dateStr = new Date(timestamp).toLocaleString();console.log(dateStr); // 2024/8/27 09:19:17var data = new Date();data.setFullYear(2002); // 设置年份data.setMonth(11); // 设置月份data.setDate(4); // 设置日期// 2.Math对象// 随机数var randomNum = Math.random();console.log(randomNum); // 0.5590989246003628// 最大值var maxNum = Math.max(1, 2, 3, 4, 5);console.log(maxNum); // 5// 最小值var minNum = Math.min(1, 2, 3, 4, 5);console.log(minNum); // 1// 绝对值var absNum = Math.abs(-5);console.log(absNum); // 5// 向上取整var ceilNum = Math.ceil(3.2);console.log(ceilNum); // 4// 向下取整var floorNum = Math.floor(3.8);console.log(floorNum); // 3// 四舍五入var roundNum = Math.round(3.5);console.log(roundNum); // 4// 平方根var sqrtNum = Math.sqrt(9);console.log(sqrtNum); // 3// 3.number对象// 整数部分var num1 = 123.456;var intPart = Math.floor(num1);console.log(intPart); // 123    // 小数部分var decPart = num1 - intPart;console.log(decPart); // 0.456// 与字符串拼接var str = '27';// number()方法 转换为数字var num = Number(str);console.log(num); // 27// toString()方法 转换为字符串var str = num.toString();console.log(str); // "27"// 4.String对象// 字符串长度var str = "hello world";var strLen = str.length;console.log(strLen); // 11// 字符串拼接var str1 = "hello";var str2 = "world";var str3 = str1 + " " + str2;console.log(str3); // "hello world"// 字符串截取var str4 = "hello world";var subStr = str4.substring(0, 5);console.log(subStr); // "hello"// 字符串查找var str5 = "hello world";var index = str5.indexOf("l");console.log(index); // 2// 字符串替换var str6 = "hello world";var newStr = str6.replace("l", "L");console.log(newStr); // "heLLo world"// 字符串转换为数组var str7 = "hello world";var arr = str7.split(" ");console.log(arr); // ["hello", "world"]</script>
</head>
<body></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32单片机_(HAL库)】3-4-3【中断EXTI】【智能排队控制系统】排队系统代码框架搭建

3-4-2系统框图及硬件接线 3.软件 beep、exti、gate、LCD1602、led、tasks驱动文件添加GPIO常用函数中断配置流程main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "tasks.h" #include "gate.h"…

腾讯浙大提出定制化视频生成框架CustomCrafter,只需通过少量图像就可以完成高质量视频生成!

腾讯联合浙大提出了一种定制化视频生成框架-CustomCrafter&#xff0c;它能够基于文本提示和参考图像生成自定义视频&#xff0c;同时保留运动生成和概念组合的能力。通过设计一系列灵活的模块&#xff0c;使得模型实现了无需额外视频&#xff0c;通过少量图像学习&#xff0c;…

嵌入式:用J-Link Commander和J-Flash进行Flash编程的区别

相关阅读 嵌入式https://blog.csdn.net/weixin_45791458/category_12768532.html?spm1001.2014.3001.5482 J-Link Commander和J-Flash都是用于Flash编程的工具&#xff0c;但它们的功能和应用场景有所不同。以下是两者的区别&#xff1a; J-Link Commander: 类型: 命令行工…

机械学习—零基础学习日志(如何理解概率论4)

当已知一个概率&#xff0c;求解另外一个函数的概率。以下是离散型的概率计算方法。 这里是连续型的&#xff0c;已知概念密度&#xff0c;计算对应的另外一个函数的概率。 这里需要求解对应的原始函数。 这里我们做一道练习题。 《概率论与数理统计期末不挂科|考研零基础入门…

什么是Redis大key问题?如何解决?

目录 Key多大算大呢&#xff1f; 识别big key 处理big key Big Key是Redis中存储了大量的数据的Key&#xff0c;不要误以为big key只是表示Key的值很大&#xff0c;他还包括这个Key对应的value占用空间很多的情况&#xff0c;通常在String、list、hash、set、zset等类型中出…

使用Vue创建cesium项目模版该如何选择?

目录 问题描述模版说明及选用建议小结 问题描述 刚入手这个项目&#xff0c;什么都是一知半解。使用Vue,创建Cesium项目的时候&#xff0c;提示需要选择一个模版&#xff08;如下图所示&#xff09;&#xff0c;该如何选择项目模版选&#xff0c;总结如下&#xff1a; 模版说明…

大模型入门到精通——Prompt Engineering工程

Prompt Engineering 1. Prompt Engineering 的意义 在 LLM&#xff08;大语言模型&#xff09;时代&#xff0c;Prompt Engineering&#xff08;提示工程&#xff09;已经成为开发者与用户的重要技能和概念。随着大模型&#xff08;如 GPT、GLM、BERT 等&#xff09;的快速发…

8.26DEBUG

线程负责监听和处理不同的需求 顾客&#xff1a;代表需要被监控的文件句柄或网络socket&#xff0c;他们可能有各种需求&#xff0c;如点餐&#xff08;发送数据&#xff09;、询问菜品状态&#xff08;读取数据&#xff09;或需要帮助&#xff08;异常处理&#xff09; 菜单…

数据结构(邓俊辉)学习笔记】串 05——KMP算法:理解next[]表

文章目录 1.快速移动2.避免回溯3.通配哨兵 1.快速移动 在接下来这节&#xff0c;就让我们从严格的意义上来理解 next 表的具体含义及其原理。 我们已经切实地看到&#xff0c; KMP 算法的优化效果首先体现在它可以使模式串得以快速地后移&#xff0c;而不是如蛮力算法那样只…

【STM32单片机_(HAL库)】3-4-4【中断EXTI】【智能排队控制系统】项目实现

3-4-2系统框图及硬件接线 3-4-3系统代码框架搭建 4.软件—tasks.c文件编写 排队控制系统状态机 tasks.c #include "tasks.h" #include "led.h" #include "beep.h" #include "exti.h" #include "lcd1602.h" #include &…

22. K8S及DevOps

22. K8S及DevOps 一. 章节简介二. DevOps1. 简介2. CICD三. Kubernetes[1. 官网](https://kubernetes.io/zh-cn/)--------------------------------------------------------------------------------------------------------一. 章节简介 二. DevOps 1. 简介 2. CICD

【C语言】文件操作 (详细!!)

1、为什么使用文件 使用文件的原因&#xff1a;使用文件主要是为了在程序的执行过程中保存、读取和交换数据。文件提供了一种持久化存储数据的方式&#xff0c;使得程序在关闭后&#xff0c;数据不会丢失&#xff0c;可以被其他程序或后续的程序执行周期重新读取和处理。 1.0 什…

Spring Boot启用GZIP压缩

1.为什么是需要gzip压缩&#xff1f; 经常我们都会与服务端进行大数据量的文本传输&#xff0c;例如 JSON 就是常见的一种格式。通过 REST API 接口进行 GET 和 POST 请求&#xff0c;可能会有大量的文本格式数据提交、返回。然后对于文本&#xff0c;它有很高的压缩率&#x…

神经网络——最大池化

1.Pooling Layers讲解&#xff1a; 最大池化有时也被称为下采样&#xff0c;对应的有上采样。注意ceil_mode参数的使用 2.代码实战&#xff1a; import torch from torch import nn from torch.nn import MaxPool2dinputtorch.tensor([[1,2,0,3,1],[0,1,2,3,1],[1,2,1,0,0],…

react 的学习随记

npx create-react-app my-app 创建一个名叫my-app的react的项目 npm run eject 运行 显示config 文件夹 react jsx &#xff08;使用时将babel 将jsx转为js&#xff09; 单页面时需要引用 1&#xff0c;样式&#xff08;在虚拟dom时&#xff09; 1. 引用样式时 用classNa…

ESP8266通过WiFiManager实现Web配网

背景 一个项目中使用到了一款压力传感器,需要通过单片机实现数据的采集并发送到远程的服务器上,单片机采用的时ESP8266,通过WiFiManager实现局域网配置,以及远端服务器IP地址和服务端口的配置。发布此文章记录一下使用WiFiManager实现配网的方法。 程序流程图 示例代码 …

NLP发展脉络-->特征优化阶段

NLP特征优化阶段 文本预处理特征提取降维与特征选择特征组合与扩展特征选择与评估特征工程的优化模型可解释性偏统计和规则的特征化阶段优缺点优点缺点 这是NLP的一个发展阶段。今天&#xff0c;我们就来了解一下NLP的特征优化阶段。特征优化在NLP的发展中曾经是一个至关重要的…

day-40 合并区间

思路 将二维数组按照第一列升序排列&#xff0c;把intervals[0][0]作为第一个区间的起点&#xff0c;将 intervals[0][1]和intervals[1][0]进行比较&#xff0c;如果intervals[0][1]<intervals[1][0]&#xff0c;则不能合并&#xff0c;否则可以合并&#xff0c;将Math.max(…

基于OpenCV+MFC的KCF测速软件

基于OpenCVMFC的KCF测速软件 引言原理介绍使用介绍&#xff08;1&#xff09;主界面&#xff08;2&#xff09;打开视频&#xff08;3&#xff09;点击KCF测速&#xff08;4&#xff09;框选待检测目标&#xff08;5&#xff09;测速结果 资源链接&#xff08;包含源码&#xf…

QT WIN11 FluentUI APP开发

代码 import QtQuick import QtQuick.Controls import FluentUIItem {property bool autoPlay: trueproperty int loopTime: 2000property var modelproperty Component delegateproperty bool showIndicator: trueproperty int indicatorGravity : Qt.AlignBottom | Qt.Align…