JavaScript内置对象

目录

前言:

1.什么是对象:

1.1面向对象是干什么的?

1.1.1封装:

1.1.2继承:

1.1.3多态:

1.2面向过程与面向对象:

1.2.1面向过程:

1.2.2面向对象:

1.3JavaScript中的对象

1.4内置对象:

2.关于数组:

 2.1数组的定义:

2.2数组的索引:

2.3数组的长度

2.4数组的修改

2.5其他注意事项:

2.5.1没有负数索引:

2.5.2没有切片操作:

2.5.3数组是可变的:

2.6数组的方法:

  2.6.1 push :

 2.6.2 pop:

  2.6.3  unshift :

 2.6.4   shift:

2.6.5splice:

2.6.6 toString :

  2.6.7  reverse:

3.关于字符串:

3.1声明方式:

3.1.1字面量方式:

3.1.2构造函数方式:

3.1.3字符串属性:

3.1.3.1.length:这是一个属性,用于获取字符串的长度,即字符串中字符的数量。

3.1.4字符串方法:

3.1.4.1toUpperCase() 和 toLowerCase():

3.1.4.2charCodeAt(index):

3.1.4.3substring(startIndex, endIndex):

3.1.4.4split(separator):

3.1.4.5indexOf(searchValue[, fromIndex]):

4.数学(Math)

4.1属性

4.2方法

5.日期(Date):

5.1创建日期对象

5.2Date对象的方法

结语:


前言:

经过我们前面的学习我们已经学习了很多关于JavaScript的流程控制和函数基础,今天我们就开始学习JavaScript的内置对象,

1.什么是对象:

在面向对象编程中,“对象”是一个包含数据(属性)和行为(方法)的实体。对象是类的实例,类定义了对象的基本结构和行为。在JavaScript中,对象通常是由键值对组成的,其中键是属性名或方法名,值是与该键相关联的数据或函数。

1.1面向对象是干什么的?

面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件和创建可重用的程序设计。OOP有三大主要特性:封装、继承和多态。

1.1.1封装

封装是把数据和操作数据的函数放在一起,形成一个“对象”。这样,内部数据被保护起来,只能通过对象的方法来访问或修改,从而确保了数据的安全性和完整性。

1.1.2继承

继承允许我们定义一个通用的类(父类或基类),然后创建更具体的类(子类或派生类)来继承父类的属性和方法。这有助于减少代码重复,提高代码的可重用性。

1.1.3多态

多态是指允许一个接口(引用变量)引用多种实际类型,并根据实际的类型来执行对应的方法。这体现了代码的多样性和扩展性。

1.2面向过程与面向对象:

1.2.1面向过程

关注的是“怎么做”,即按照一系列步骤或过程来执行任务。它强调的是一系列的操作和流程。

1.2.2面向对象

关注的是“谁来做”,即使用对象来完成任务。它强调的是对象之间的交互和协作。

1.3JavaScript中的对象

在 JavaScript 中,对象就是一组键值对的集合,其中键是属性或方法的名称,值是对应的数据或函数。JavaScript 中的对象非常灵活,可以动态地添加或删除属性和方法。同时,JavaScript 也提供了一些内置的对象,如 Math、Date 等,这些对象提供了一些常用的功能和方法,方便开发者进行编程。

1.4内置对象

JavaScript中有一些预定义的对象,如MathDateArray等,这些被称为内置对象。它们提供了许多常用的功能和方法,以便开发者能够更轻松地编写代码。

2.关于数组:

数组(Array)在JavaScript中是一种特殊的对象,用于存储有序的数据集合。与Python中的列表类似,数组中的每个元素都有一个索引,从0开始递增。数组可以包含任意类型的数据,包括字符串、数字、布尔值、对象,甚至是其他数组。

 2.1数组的定义:

let 数组名 = [数据1, 数据2, 数据3, ...];

例如:

let kylin = ['麒麟', 28, true];

在这个例子中,kylin 是一个包含三个元素的数组,分别是字符串 '麒麟'、数字 28 和布尔值 true

2.2数组的索引:

数组的每个元素都可以通过其索引(下标)来访问。索引从0开始计数。

console.log(kylin[1]); // 输出 28

2.3数组的长度

.length 属性用于获取数组的长度(即数组中的元素数量)。

console.log(kylin.length); // 输出 3

2.4数组的修改

数组的元素可以通过索引来修改。

kylin[0] = '七零'; // 将数组的第一个元素修改为字符串 '七零'

2.5其他注意事项:

2.5.1没有负数索引

在JavaScript数组中,不能使用负数作为索引来访问元素。

2.5.2没有切片操作

与Python的列表不同,JavaScript的原生数组没有内置的切片操作。但是,可以通过其他方法(如使用slice()方法)来实现类似切片的功能。

2.5.3数组是可变的

数组的元素可以被修改、添加或删除。

2.6数组的方法:

JavaScript数组提供了许多内置方法,用于操作数组,如添加元素(push)、删除元素(pop)、查找元素(indexOf)、排序(sort)等。这些方法为处理数组数据提供了强大的工具。这里我也会进行一些拓展就是关于数组的方法:

  2.6.1 push :

在最后追加数据.可以追加多个数据  

用于在数组的末尾添加一个或多个元素,并返回新的长度。

数组.push(数据)         数组.push(数据,数据)

let arr = [1, 2, 3];  
arr.push(4, 5); // 添加两个元素  
console.log(arr); // 输出: [1, 2, 3, 4, 5]

 2.6.2 pop:

删除最后一个数据  

用于删除数组的最后一个元素,并返回该元素。

      数组.pop()

let arr = [1, 2, 3, 4, 5];  
let lastElement = arr.pop(); // 删除最后一个元素  
console.log(arr); // 输出: [1, 2, 3, 4]  
console.log(lastElement); // 输出: 5

  2.6.3  unshift :

在最前面追加数据,可以追加多个数据    

用于在数组的开头添加一个或多个元素,并返回新的长度。

数组.unshift(数据)         数组.unshift(数据,数据)

let arr = [3, 4, 5];  
arr.unshift(1, 2); // 在开头添加两个元素  
console.log(arr); // 输出: [1, 2, 3, 4, 5]

 2.6.4   shift:

删除第一个数据         用于删除数组的第一个元素,并返回该元素。

数组.shift()

let arr = [1, 2, 3, 4, 5];  
let firstElement = arr.shift(); // 删除第一个元素  
console.log(arr); // 输出: [2, 3, 4, 5]  
console.log(firstElement); // 输出: 1

2.6.5splice:

剪切数据        用于在任意位置添加/删除元素。

数组.splice(起点下标,剪切数量)

let arr = [1, 2, 3, 5, 6];  
arr.splice(3, 0, 4); // 在下标3的位置插入数字4  
console.log(arr); // 输出: [1, 2, 3, 4, 5, 6]

2.6.6 toString :

把数组转为字符串   数组.toString()

let arr = [1, 2, 3];  
let str = arr.toString(); // 转换为字符串  
console.log(str); // 输出: "1,2,3"

  2.6.7  reverse:

反转数据   反转数组中的元素。

      数组.reverse  

let arr = [1, 2, 3, 4, 5];  
arr.reverse(); // 反转数组  
console.log(arr); // 输出: [5, 4, 3, 2, 1]

3.关于字符串:

在JavaScript中,字符串是用于表示文本数据的数据类型。字符串可以包含任何字符,包括字母、数字、标点符号、空格等。

3.1声明方式:

3.1.1字面量方式

直接使用单引号(')或双引号(")来声明字符串。

let str1 = '多喝热水';

3.1.2构造函数方式

使用new String()构造函数来创建一个新的字符串对象。

let str2 = new String('#096');

3.1.3字符串属性:

3.1.3.1.length:这是一个属性,用于获取字符串的长度,即字符串中字符的数量。
console.log(str1.length); // 输出4,因为'多喝热水'有4个字符

3.1.4字符串方法:

3.1.4.1toUpperCase() 和 toLowerCase()
  • 这两个方法分别用于将字符串中的所有字母转换为大写或小写。对于非字母字符,它们不会有任何影响。
  • toUpperCase() 会把所有小写字母转为大写。
  • toLowerCase() 会把所有大写字母转为小写。
let upperStr = str1.toUpperCase(); // 将str1转为大写  
let lowerStr = str1.toLowerCase(); // 将str1转为小写
3.1.4.2charCodeAt(index)
  • 这个方法返回指定索引位置字符的Unicode编码。索引从0开始。
let charCode = str1.charCodeAt(0); // 获取str1中第一个字符的Unicode编码
3.1.4.3substring(startIndex, endIndex)
  • 这个方法用于截取字符串的一部分,从startIndex开始,到endIndex(不包含)结束。如果省略endIndex,则截取到字符串的末尾。
let subStr = str1.substring(1, 3); // 从索引1开始,到索引3(不包含)结束的子串
3.1.4.4split(separator)
  • 这个方法用于将字符串按照指定的分隔符separator拆分为一个数组。
let array = str1.split(''); // 使用空字符串作为分隔符,将每个字符都拆分为数组的一个元素let 

array = str1.split(''); // 使用空字符串作为分隔符,将每个字符都拆分为数组的一个元素
3.1.4.5indexOf(searchValue[, fromIndex])
  • 这个方法返回指定值searchValue在字符串中首次出现的索引位置。如果没有找到该值,则返回-1。fromIndex是可选参数,表示从哪个索引位置开始搜索。
let index = str1.indexOf('喝'); // 查找'喝'在str1中首次出现的位置  
let indexFromPos = str1.indexOf('喝', 2); // 从索引2开始查找'喝'的位置

4.数学(Math)

4.1属性

  • Math.PI: 这是一个表示圆周率π(约等于3.14159)的静态属性。在数学运算和科学计算中非常有用。

4.2方法

  • Math.random(): 这个方法返回一个在0(包含)到1(不包含)之间的伪随机数。例如,Math.random()可能会返回0.5712398479823749等类似的数值。

  • Math.ceil(x): 这个方法对一个数进行上舍入,即取大于或等于一个给定数字的最小整数。例如,Math.ceil(4.7)会返回5。

  • Math.floor(x): 这个方法对一个数进行下舍入,即取小于或等于一个给定数字的最大整数。例如,Math.floor(4.7)会返回4。

  • Math.round(x): 这个方法对一个数进行四舍五入为最接近的整数。例如,Math.round(4.7)会返回5,而Math.round(4.4)会返回4。

  • Math.max(...values): 这个方法返回一组数中的最大值。可以传入任意数量的参数,或者传入一个数组然后通过扩展运算符(...)将其元素作为单独的参数传递。例如,Math.max(1, 2, 3, 4)会返回4。

  • Math.min(...values): 这个方法返回一组数中的最小值。与Math.max类似,可以传入多个值或数组的元素。例如,Math.min(1, 2, 3, 4)会返回1。

5.日期(Date):

5.1创建日期对象

在JavaScript中,您可以通过以下方式创建日期对象:

// 创建一个表示当前日期和时间的Date对象  
let now = new Date();  
  
// 创建一个表示特定日期和时间的Date对象  
let specificDate = new Date('2023-03-20 14:30:00'); // 格式为 'YYYY-MM-DD HH:mm:ss'

注意:在创建特定日期的Date对象时,日期字符串的格式应该符合JavaScript所支持的日期格式,如ISO 8601格式('YYYY-MM-DDTHH:mm:ss.sssZ'),或者您可以使用其他构造函数参数来明确设置日期和时间的各个部分。

5.2Date对象的方法

  • getTime(): 返回自1970年1月1日00:00:00 UTC至该日期的毫秒数(格林威治时间戳,也称为Unix时间戳,但单位是毫秒而不是秒)。
let timestamp = now.getTime(); // 返回时间戳(毫秒)
  • getFullYear(): 返回日期的年份(四位数)。
 let year = now.getFullYear(); // 返回年份,如 2023
  • getMonth(): 返回日期的月份(0-11),其中0表示一月,11表示十二月。因此,通常使用时需要加1。
let month = now.getMonth() + 1; // 返回月份(1-12)
  • getDate(): 返回日期的日(1-31)。
let date = now.getDate(); // 返回日份
  • getHours(): 返回日期的小时(0-23)。
let hours = now.getHours(); // 返回小时数
  • getMinutes(): 返回日期的分钟(0-59)。
    let minutes = now.getMinutes(); // 返回分钟数
  • getSeconds(): 返回日期的秒数(0-59)。
let seconds = now.getSeconds(); // 返回秒数

结语:

今天我们就先讲到这里了,今天是关于JavaScript的第四天,JavaScript 以一种独特的方式支持面向对象编程,它结合了原型继承和类继承的特点,使得开发者能够灵活地组织和复用代码。以上的内容是我个人的一些学习的笔记,当然这只是我个人的一点看法和理解或许还是会有一点小问题,欢迎大家的指正,也欢迎大家在评论区和谐讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

文件名乱码危机:数据恢复全攻略

在数字化时代的浪潮中,电脑文件成为我们日常生活和工作中不可或缺的一部分。然而,有时我们会突然遭遇一个令人头疼的问题:原本清晰易读的文件名突然变成了乱码。这些乱码文件名不仅让我们无法准确识别文件内容,更可能意味着数据丢…

深耕国际舞台丨拓数派受邀参与美国 Postgres Conference 2024

在北美地区备受瞩目 Postgres Conference 2024 大会将于4月17日在美国 San Jose 希尔顿举行。拓数派作为立足中国的高科技创新企业,也同时致力于国际开源技术和生态的深耕。本次美国 Postgres Conference 2024 大会中,拓数派将作为黄金赞助商&#xff0c…

lv_micropython for ESP32-C3

一、开发平台说明 硬件:立创实战派ESP32-C3开发板。处理器ESP32-C3(内置400KB SRAM),无内置FLASH,2.0寸液晶(液晶驱动IC:ST7789,触屏驱动IC:FT6336),下载口UART0。 ESP…

采集某新闻网资讯网站保存PDF

网址:融资总额近3亿美元、药明康德押注,这家抗衰老明星公司有何过人之处-36氪 想要抓取文章内容,但是找不到啊,可能是文字格式的问题,也可能文章内容进行了加密。 在元素中查看,window.initialState返回的就…

python实战-含容器运用

目录 1.找出10000以内能被5或6整除,但不能被两者同时整除的数 2.写一个方法,计算列表所有偶数下标元素的和(注意返回值) 3.根据完整的路径从路径中分离文件路径、文件名及扩展名 4.根据标点符号对字符串进行分行 5.去掉字符串数组中每个字符串的空格…

CentOS 网卡ifcfg-eth0 ping不通外网(www.baidu.com)

1、如果确认好就直接激活网卡! ifup eth0 2、慢慢找: cd /etc/sysconfig/network-scripts/ ls 找到你的网卡是啥,这里网卡是 ifcfg-eth0 执行1就好了!

[蓝桥杯] 岛屿个数(C语言)

提示: 橙色字体为需要注意部分,红色字体为难点部分,会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解 这道题让我们求岛屿个数,那么我们就应该先弄懂,对于一…

使用Docker定时备份数据

文章目录 一、Docker镜像制作二、MySQL数据备份三、Minio数据备份四、数据跨服务器传输五、Nginx日志分割六、Docker启动七、Docker备份日志 一、Docker镜像制作 镜像制作目录 mc下载地址 - rsyncd.conf # https://download.samba.org/pub/rsync/rsyncd.conf.5port 873 uid …

pytorch-多分类实战之手写数字识别

目录 1. 网络设计2. 代码实现2.1 网络代码2.2 train 3. 完整代码 1. 网络设计 输入是手写数字图片28x28,输出是10个分类0~9,有两个隐藏层,如下图所示: 2. 代码实现 2.1 网络代码 第一层将784降维到200,第二次使用…

【Vue3 + ElementUI】表单校验无效(写法:this.$refs[‘formName‘].validate((valid) =>{} ))

一. 表单校验 1.1 template模块 el-form 中 若校验&#xff0c;ref 和 rules 必须要有 <template><div style"padding:20px"><el-form ref"formName" :model"form" :rules"formRules" label-width"120px"…

【opencv】示例-grabcut.cpp 使用OpenCV库的GrabCut算法进行图像分割

left mouse button - set rectangle SHIFTleft mouse button - set GC_FGD pixels CTRLleft mouse button - set GC_BGD pixels 这段代码是一个使用OpenCV库的GrabCut算法进行图像分割的C程序。它允许用户通过交互式方式选择图像中的一个区域&#xff0c;并利用GrabCut算法尝试…

idea项目编译时报错:GC overhead limit exceeded

问题描述 今天idea构建一个新的项目时报错&#xff1a;GC overhead limit exceeded&#xff0c;错误是发生在编译阶段&#xff0c;而不是运行阶段。 ava: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceededat com.sun.tools.javac.resources…

STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(2)

接前一篇文章&#xff1a;STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978&#xff08;1&#xff09; 本文参考以下文章及视频&#xff1a; STM32CbueIDE Audio播放音频 WM8978 I2S_stm32 cube配置i2s录音和播放-CSDN博客 STM32第二十二课&#xff08;I2S&#xff0c;HAL&am…

STM32 串口接收定长,不定长数据

本文为大家介绍如何使用 串口 接收定长 和 不定长 的数据。 文章目录 前言一、串口接收定长数据1. 函数介绍2.代码实现 二、串口接收不定长数据1.函数介绍2. 代码实现 三&#xff0c;两者回调函数的区别比较四&#xff0c;空闲中断的介绍总结 前言 一、串口接收定长数据 1. 函…

pbootcms百度推广链接打不开显示404错误页面

PbootCMS官方在2023年4月21日的版本更新中&#xff08;对应V3.2.5版本&#xff09;&#xff0c;对URL参数添加了如下判断 if(stripos(URL,?) ! false && stripos(URL,/?tag) false && stripos(URL,/?page) false && stripos(URL,/?ext_) false…

Composer安装与配置

Composer&#xff0c;作为PHP的依赖管理工具&#xff0c;极大地简化了PHP项目中第三方库的安装、更新与管理过程。本文将详细介绍Composer的安装步骤、基本配置方法&#xff0c;以及一些实用的操作示例&#xff0c;帮助读者快速上手并熟练运用Composer。 一、Composer安装 环…

Python --- 怎么把Python当计算器用?(小白自学笔记)

怎么把Python当计算器用&#xff1f;(小白自学笔记) Part I&#xff1a;标准数学包的导入 今天刚刚装了python&#xff0c;打算用它来取代matlab的基本计算功能&#xff0c;当我的日常计算器用。(这里还有一个捷径&#xff0c;如果你跟我一样也是纯小白的话&#xff0c;直接问c…

如何确保软件通过SmartScreen验证,消除用户下载时的警告提示?

在当前的网络时代&#xff0c;各种软件应用程序深深渗透到人们的日常生活和工作中&#xff0c;许多企业选择自行开发应用程序以推进其业务发展。但在发布应用程序后&#xff0c;软件所有者经常会遇到一个挑战&#xff0c;即用户在下载时可能会遇到微软SmartScreen提示“此应用程…

JVM修炼之路【11】- 解决内存溢出、内存泄漏 以及相关案例

前面的10篇 都是基础的知识&#xff0c;包括类加载的过程 类加载的细节&#xff0c;jvm内存模型 垃圾回收 等等&#xff0c; 这一篇我们开始实战了解一下 各种疑难杂症&#xff1a;怎么监控 怎么发现 怎么解决 内存溢出 内存泄漏 这两个概念在垃圾回收器里面已经讲过了&#…

Java前置一些知识

文章目录 搭建Java环境安装path环境变量Java技术体系 Java执行原理JDK组成跨平台Java内存分配 IDEA管理Java程序 搭建Java环境 安装 oralce官网下载 JDK17 Windows 傻瓜式的点下一步就行&#xff0c;注意&#xff1a;安装目录不要有空格、中文 java 执行工具 javac 编译工具…