当前位置: 首页 > news >正文

JS新手入门笔记整理:对象

  • 对象可以分为两种:一种是“自定义对象”,另外一种是“内置对象”。自定义对象,指的是需要我们自己定义的对象。内置对象,指的是不需要我们自己定义的(即系统已经定义好的)、可以直接使用的对象。
  • 在JavaScript中,常用的内置对象有4种,字符串对象(String)、数组对象(Array)、日期对象(Date)、数值对象(Math)。

📌字符串对象:String

获取字符串长度

语法

字符串名.length

调用对象的属性时,要用到点运算符(.),可以将其理解为“的”,如str.length可以看成“str的length(长度)”。


字符串大小写转换

  • toLowerCase( )方法将大写字符串转化为小写字符串,
  • toUpperCase( )方法将小写字符串转化为大写字符串。

语法

字符串名.toLowerCase( )
字符串名.toUpperCase( )

调用对象的方法时,要用到点运算符(.)。但是属性和方法不太一样,方法后面需要加上小括号( ),而属性则不需要。


获取字符串中某一个字符

charAt( )方法用来获取字符串中的某一个字符。

语法

字符串名.charAt(n)
  • n是整数,表示字符串中的第(n+1)个字符。注意,字符串第1个字符的下标是0,第2个字符的下标是1,……,第n个字符的下标是(n-1),以此类推。
  • 在字符串中,空格也是作为一个字符来处理的。

截取字符串

substring( ) 方法用来截取字符串的某一部分。

语法

字符串名.substring(start,end)
  • tart表示开始位置,end表示结束位置。start和end都是整数,一般都是从0开始,其中end大于start。
  • substring(start,end)的截取范围为“[start,end)”,也就是包含start,但不包含end。其中,end可以省略。当end省略时,截取的范围为“start到结尾”。

替换字符串

replace( )方法可以用一个字符串替换另外一个字符串的某一部分。

语法

字符串名.replace(原字符串,替换字符串)字符串名.replace(正则表达式,替换字符串)

分割字符串

split( )方法用来把一个字符串分割成一个数组,这个数组存放的是原来字符串的所有字符片段。有多少个片段,数组元素个数就是多少。

语法

字符串名.split("分割符")
  • 分割符可以是一个字符、多个字符或一个正则表达式。此外,分割符不作为返回的数组元素的一部分。
  • split( )方法有两个参数:第1个参数表示分割符,第2个参数表示获取“分割之后的前n个元素”。
  • split(“ ")两个引号之间有空格,表示用空格作为分割符来分割。split(“"),两个引号之间没有空格,可以用来分割字符串的每一个字符。

检索字符串的位置

  • indexOf( )方法可以找出“某个指定字符串”在字符串中“首次出现”的下标位置。
  • lastIndexOf( )方法可以找出“某个指定字符串”在字符串中“最后出现”的下标位置。

语法

字符串名.indexOf(指定字符串)字符串名.lastIndexOf(指定字符串)
  • 如果字符串中不包含“指定字符串”,indexOf( )或lastIndexOf( )会返回-1。
  • indexOf( )和lastIndexOf( )不仅可以用于检索字符串,还可以用于检索单个字符。

📌数组对象:Array

“数组”可以用来存储一组“相同数据类型”(一般情况下)的数据。数组是“引用数据类型”,可以含有多个值。而基本数据类型只有一个值。


数组的创建

可以使用new关键字来创建一个数组。创建数组的常见形式有两种:一种是“完整形式”,另外一种是“简写形式”。

语法

var 数组名=new Array(元素1,元素2,……,元素n);  //完整形式var 数组名=[元素1,元素2,……,元素n];       //简写形式

数组的获取

获取数组某一项的值,可以采用“下标”的方式来获取。

语法

var 数组名=[元素1,元素2,……,元素n];       //简写形式n=数组名[n]

n代表下表位置取整数,数组的下标是从0开始的,不是从1开始的。


数组的赋值

通过数组下标的方式可以给某一项赋一个新的值,或者给数组多增加一项。

语法

arr[i]=值;

获取数组长度

length属性用来获取数组的长度。

语法

数组名.length

截取数组某部分

slice( )方法用来获取数组的某一部分。slice,是“切片”的意思。

语法

数组名.slice(start,end);
  • start表示开始位置,end表示结束位置。start和end都是整数,都是从0开始,其中end大于start。
  • slice(start,end)的截取范围为[start,end),也就是“包含start但不包含end”。其中,end可以省略。当end省略时,获取的范围为“start到结尾”。

添加数组元素

在数组开头添加元素:unshift( )

unshift( )方法可以在数组开头添加新元素,并且可以得到一个新的数组(也就是原数组变了)。

语法

数组名.unshift(新元素1,新元素2,……,新元素n)

在数组结尾添加元素:push( )

push( )方法可以在数组结尾添加新元素,并且可以得到一个新的数组(也就是原数组变了)。

语法

数组名.push(新元素1,新元素2,……,新元素n)

删除数组元素

删除数组中第一个元素:shift( )

shift( )方法用来删除数组中的第一个元素,并且可以得到一个新的数组。

语法

数组名.shift( )

删除数组最后一个元素:pop( )

pop( )方法用来删除数组的最后一个元素,并且可以得到一个新数组。

语法

数组名.pop( )

比较数组大小

语法

数组名.sort(函数名)

“函数名”是定义数组元素排序的函数的名称。


颠倒数组顺序

reverse( )方法用来实现数组中所有元素的反向排列,也就是颠倒数组元素的顺序。reverse,是“反向”的意思。

语法

数组名.reverse( );

将数组元素连接成字符串

join( )方法用来将数组中的所有元素连接成一个字符串。

语法

数组名.join("连接符");

连接符是可选参数,是连接元素之间的符号。默认情况下,一般会采用英文逗号(,)作为连接符。如果想要实现字符之间没有任何东西,用 (“ ”) 作为连接符。


📌时间对象:Date

在JavaScript中,我们可以使用时间对象Date来处理时间。

语法

var 日期对象名 = new Date( );

创建一个日期对象,必须使用new关键字。其中Date对象的方法有很多,主要分为两大类:getXxx( )和setXxx( )。getXxx( )用于获取时间,setXxx( )用于设置时间。

获取时间:getXxx( )

方法

说明

getFullYear()

获取年份,取值为4位数字

getMonth()

获取月份,取值为0(一月)到11(十二月)之间的整数

getDate()

获取日数,取值为1~31的整数

getHours()

获取小时数,取值为0~23的整数

getMinutes()

获取分钟数,取值为0~59的整数

getSeconds()

获取秒数,取值为0~59的整数

设置时间:setXxx( )

方法

说明

setFullYear()

可以设置年、月、日

setMonth()

可以设置月、日

setDate()

可以设置日

setHours()

可以设置时、分、秒、毫秒

setMinutes()

可以设置分、秒、毫秒

setSeconds()

可以设置秒、毫秒


获取年、月、日

语法

var d=new Date( );              // 获取时间对象
var Day=d.getDate( );           // 获取日数
var Month=d.getMonth( )+1;      // 获取月份
var Year=d.getFullYear( );      // 获取年份

getMonth( )方法的返回值是0(一月)到11(十二月)之间的整数,所以必须加上1,这样月份才正确。


设置年、月、日

语法

时间对象.setFullYear(year,month,day);           // 设置年、月、日
时间对象.setMonth(month,day);                   // 设置月、日
时间对象.setDate(day);                          // 设置日
  • year表示年,用一个4位的整数表示,如2017、2020等。
  • month表示月,用0~11的整数表示。其中0表示1月,1表示2月,以此类推。
  • day表示日,用1~31的整数表示。

获取时、分、秒

语法

var d=new Date( );              // 获取时间对象
var Hours=d. getHours( );       // 获取小时数
var Minutes=d. getMinutes( );   // 获取分钟数
var Seconds=d.getSeconds( );    // 获取秒数

设置时、分、秒

语法

时间对象.setHours(hour,min,sec,millisec);          // 设置时、分、秒、毫秒。
时间对象.setMinutes(min,sec,millisec);             // 设置分、秒、毫秒。
时间对象.setSeconds(sec,millisec);                 // 设置秒、毫秒。
  • hour 表示时,取值为0~23的整数。
  • min 表示分,取值为0~59的整数。
  • sec 表示秒,取值为0~59的整数。
  • millisec 表示毫秒,取值为0~999的整数。

获取星期数

getDay( )方法用来获取表示今天是星期几的一个数字。

语法

时间对象.getDay( );

getDay( )会返回一个数字,其中0表示星期天,1表示星期一,……,6表示星期六。


📌数学对象:Math

在JavaScript中,可以使用Math对象的属性和方法来实现各种运算。Math对象提供了大量“内置”的数学常量和数学函数。Math对象可以直接使用它的属性和方法。

语法

Math.属性
Math.方法

Math对象的属性

Math对象的属性

属性

说明

对应的数学形式

PI

圆周率

π

LN2

2的自然对数

In(2)

LN10

10的自然对数

In(10)

LOG2E

以2为底的e的对数

Log2e

LOG10E

以10为底的e的对数

log10e

SORT2

2的平方根

√2

SORT1_2

2的平方根的倒数

1/√2

Math对象的属性都是常量,它们都是大写的。


Math对象的方法

Math对象中的方法(常用)

方法

说明

max(a,b,..,n)

返回一组数中的最大值

min(a,b,..,n)

返回一组数中的最小值

sin(x)

正弦

cos(x)

余弦

tan(x)

正切

asin(x)

反正弦

acos(x)

反余弦

atan(x)

反正切

atan2(x)

反正切

floor(x)

向下取整

ceil(x)

向上取整

random()

生成随机数


Math对象中的方法(不常用)

方法

说明

abs(x)

返回×的绝对值

sqrt(x)

返回×的平方根

log(x)

返回×的自然对数(底为e)

pow(x,y)

返回×的y次幂

exp(x)

返回e的指数


生成随机数

random( )方法用来生成0~1的一个随机数。random,是“随机”的意思。这里的0~1包含0但不包含1,也就是[0, 1)。

语法

Math.random( )

使用技巧

随机生成某个范围内的“任意数”

Math.random( )*m

表示生成0~m的随机数,如“Math.random( )*10”表示生成0~10的随机数。

Math.random( )*m+n

表示生成n~m+n的随机数,如“Math.random( )*10+8”表示生成8~18的随机数。

Math.random( )*m-n

表示生成-n~m-n的随机数,如“Math.random( )*10-8”表示生成-8~2的随机数。

Math.random( )*m-m

表示生成-m~0的随机数,如“Math.random( )*10-10”表示生成-10~0的随机数。

随机生成某个范围内的“整数”

Math.floor (Math.random( ) * (5+1))

生成0~5的随机整数

Math. floor (Math. random( )*(m+1))

生成0到m之间的随机整数

Math.floor (Math. random( )*m)+1

生成1到m之间的随机整数(包括1和m)

Math.floor (Math.random( )*(m-n+l)) +n

生成n到m之间的随机整数(包括n和m)


相关文章:

JS新手入门笔记整理:对象

对象可以分为两种:一种是“自定义对象”,另外一种是“内置对象”。自定义对象,指的是需要我们自己定义的对象。内置对象,指的是不需要我们自己定义的(即系统已经定义好的)、可以直接使用的对象。在JavaScri…...

Python GIL 一文全知道!

GIL 作为 Python 开发者心中永远的痛,在最近即将到来的更新中,终于要彻底解决了,整个 Python 社群都沸腾了 什么是GIL? GIL是英文学名global interpreter lock的缩写,中文翻译成全局解释器锁。GIL需要解决的是线程竞…...

数据库级别的MD5加密(扩展)

首先,我们要知道什么是MD5? 1.主要是增强算法的复杂性和不可逆性 2.MD5不可逆,具体的值MD5是一样的 3.MD5破解网站的原理,背后有一个字典 代码案例: -- 加密 update testMD5 set pwdmd5(pwd) where id1; update testMD5 set…...

Docker安装Jenkins,配置Maven和Java

前言 这是一个java的springboot项目,使用maven构建 安装准备 需要将maven和jdk安装在服务器上,Jenkins需要用到,还有创建一个jenkins的目录,安装命令如下: docker run -d -uroot -p 9095:8080 -p 50000:50000 --n…...

游戏分组(100用例)C卷 (JavaPythonC语言C++Node.js)

部门准备举办一场王者荣耀表演赛,有10名游戏爱好者参与,分为两队,每队5人。 每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把10名参赛者分为实力尽量相近的两队。一队的实力可以表示为这一队5名队员的评分总和。 现在给你10名参与者的游戏水…...

python函数装饰器保存信息

1 python函数装饰器保存信息 python函数装饰器,可以通过实例属性、全局变量、非局部变量和函数属性,来保存被装饰函数的状态信息。 1.1 统计调用并跟踪 描述 通过装饰器统计函数调用次数,并且用打印来跟踪调用记录。 此装饰器用类的__ca…...

AI真正的Killer App 仍然缺席

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

Docker 镜像以及镜像分层

Docker 镜像以及镜像分层 1 什么是镜像2 Docker镜像加载原理2.1 UnionFs:联合文件系统2.2 Docker镜像加载原理2.3 Docker镜像的特点 3 镜像的分层结构4 可写的容器层 1 什么是镜像 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行…...

aigc 启动器 sd-webui-aki-v4 decode_base64_to_file

下载地址&#xff1a; SD-WebUI启动器 绘世-启动器 | 万物档案 decode_base64_to_file报错&#xff1a; File "E:\BaiduNetdiskDownload\stable diffusion\sd-webui-aki-v4\extensions\sd-webui-controlnet\scripts\external_code.py", line 7, in <module>fr…...

【C++进阶05】AVL树的介绍及模拟实现

一、AVL树的概念 二叉搜索树的缺点 二叉搜索树虽可以缩短查找效率 但如果数据有序或接近有序 二叉搜索树将退化为单支树 查找元素相当于在顺序表中搜索元素&#xff0c;效率低下 AVL树便是解决此问题 向二叉搜索树中插入新结点 并保证每个结点的左右子树 高度之差的绝对值不超…...

MySQL视图 索引 面试题

一. 视图 视图&#xff1a;一种虚拟存在的表&#xff0c;行和列的数据来自定义视图的查询中使用的表&#xff0c;并且是在使用视图时动态生成的&#xff0c;只保存了sql逻辑&#xff0c;不保存查询结果 视图语法 -- 创建 create view 视图名 as 查询语句;-- 使用 select * f…...

JAVA实现文件上传至阿里云

注册阿里云账号后,开通好对象存储服务&#xff08;OSS&#xff09;&#xff0c;三个月试用 阿里云登录页 (aliyun.com) 目录 一.创建Bucket 二.获取AccessKey&#xff08;密钥&#xff09; 三.参考官方SDK文件&#xff0c;编写入门程序 1.复制阿里云OSS依赖&#xff0c;粘贴…...

设计模式之外观模式【结构型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…...

Qt QCheckBox复选按钮控件

文章目录 1 属性和方法1.1 文本1.2 三态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的复选按钮类是QCheckBox它和单选按钮很相似&#xff0c;单选按钮常用在“多选一”的场景&#xff0c;而复选按钮常用在"多选多"的场景比如喜欢的水果选项中&#xf…...

加速科技ST2500 数模混合信号测试设备累计装机量突破500台!

国产数字机&#xff0c;测试中国芯&#xff01;新年伊始&#xff0c;国产半导体测试设备领军企业加速科技迎来了振奋人心的一刻&#xff0c;ST2500 数模混合信号测试设备累计装机量突破500台&#xff01;加速科技凭借其持续的创新能力、完善的解决方案能力、专业热忱的本地化服…...

ASP.NETCore WebAPI 入门 杨中科

ASP.NETCore WebAPI入门1 回顾 mvc开发模式 前端代码和后端代码是混在一个项目之中 WEB API 1、什么是结构化的Http接口。Json。 2、Web API项目的搭建。 3、Web API项目没有Views文件夹。 4、运行项目&#xff0c;解读代码结构。 5、【启用OpenAPI支持】→>swagger,在界…...

问题 C: 活动选择

题目描述 学校在最近几天有n个活动&#xff0c;这些活动都需要使用学校的大礼堂&#xff0c;在同一时间&#xff0c;礼堂只能被一个活动使。由于有些活动时间上有冲突&#xff0c;学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。    现在给出n个活动使用礼堂的起…...

SpringBoot学习(五)-Spring Security配置与应用

注&#xff1a;此为笔者学习狂神说SpringBoot的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! Spring Security Spring Security是一个基于Java的开源框架&#xff0c;用于在Java应用程…...

Java解决删除子串后的字符串最小长度

Java解决删除子串后的字符串最小长度 01 题目 给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作&#xff0c;在每一步操作中&#xff0c;你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作&#xff0c;删除所…...

日志系统一(elasticsearch+filebeat+logstash+kibana)

目录 一、es集群部署 安装java环境 部署es集群 安装IK分词器插件 二、filebeat安装&#xff08;docker方式&#xff09; 三、logstash部署 四、kibana部署 背景&#xff1a;因业务需求需要将nginx、java、ingress日志进行收集。 架构&#xff1a;filebeatlogstasheskib…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...