JavaScript-----对象(创建对象、数组与字符串)

 目录

前言:

1. JavaScript创建对象

1.1 对象的创建

 1.2 对象的调用

1.3 for-in循环语句

2.内置对象

2.1 Array(数组)对象

属性和方法

2.2 String(字符串)对象

属性和方法

2.3 Math对象

2.4 日期对象


前言:

        在学习JavaScript之前我们都知道,这是一门面对对象的编程语言,跟Python、Java是一样的,一切数据皆可以是对象,与此同时我们可以去通过创建自定义对象进行相关的编程操作,下面就一起学习JavaScript的面对对象吧!

1. JavaScript创建对象

1.1 对象的创建

 JavaScript中object类型包含的数据有很多,数组、普通对象、DOM节点、内置对象等等都属于obejct类型。

JavaScript中使用花括号{ }来创建对象,{ }中用来定义对象中的属性。属性是一个个键:值对的组合,其中键(属性名称)始终是字符串类型的,而值(属性值)则可以是任意类型,例如字符串、数组、函数或其它对象等。不同的属性之间使用逗号进行分隔。

//创建一个对象
let L={name:'Tom',age:20,tall:176,fun:function() //创建一个方法{console.log(this.name) //打印这个对象的name属性}};//创建一个对象
let person = {name: "吴彦祖",age: 28,gender: "Male",displayName: function() {document.write(this.name);}
};

如果你们学了Python的面对对象就会发现,JavaScript的自定义对象跟Python是有异曲同工之处的,Python是通过self来去指定本身对象,而在JavaScript是去通过this来去指向自己

 1.2 对象的调用

在定义对象时,属性名称虽然是字符串类型,但通常不需要使用引号来定义

函数的this指向,指向调用函数的对象

要访问或获取属性的值,您可以使用对象名.属性名或者对象名["属性名"]的形式

console.log(person.name)
console.log(person["age"])

使用对象名.属性名或者对象名["属性名"]的形式除了可以获取对象的属性值外,也可以用来设置或修改对象的属性值

person.phone = "150*******8";
person.age = 20;
person["name"] = "湖南吴彦祖";

使用delete语句来删除对象中的属性

delete person.gender;
delete person["phone"];

1.3 for-in循环语句

for-in循环是一种特殊循环,可用于循环对象或数组。在此之前Python也有类似的语法,但是不同的是JavaScript获取到的是一个索引的值(也就是键值),而不是直接获取到里面的数据,看以下代码示例:

let a=[1,2,3,4,5];let L={name:'Tom',age:20,tall:176,fun:function(){console.log(this.name) //打印这个对象的name属性}};/*输出:nameagetallfun*/for(let key in L){console.log(key);}for(let i in a){console.log(a[i]);}//输出 1 2 3 4 5

2.内置对象

内置对象是JavaScript预先提供的一些特殊对象,比如数字、字符串等等,能实现不同的功能

2.1 Array(数组)对象

数组是值的有序集合,数组中的每个值称为一个元素,每个元素在数组中都有一个数字位置,称为下标,下标从0开始,依次递增。

  • 数组用于存储若干数据,自动为每位数据分配下标,从0开始

  • 数组中的元素不限数据类型,长度可以动态调整

  • 动态操作数组元素 :根据元素下标读取或修改数组元素,arr[index]

let arr = [10, 50, true];

JavaScript里面的数组实际上就是Python中的列表,但是这里叫做数组。

属性和方法

  • length:获取数组长度

  • push(data):在数组的末尾添加一个或多个元素,多个元素之间使用逗号隔开,返回添加之后的数组长度。

  • pop():移除末尾元素,返回被移除的元素。

  • shift():移除数组的第一个元素,返回被移除的元素。

  • unshift(data):在数组的头部添加一个或多个元素,返回添加之后的数组长度。

  • splice(index,num):从数组中添加/删除项目,返回被删除的项目。

  • slice(startNum,endNum) 截取数组(切片):startNum 参数为起始位置(包含), endNum 参数结束位置(不包含)。

  • toString():将数组转换成字符串类型,返回字符串结果。

  • join(param):将数组转换成字符串,可以指定元素之间的连接符,如果参数省略,默认按照逗号连接,返回字符串。

  • reverse(函数参数):反转数组,倒序重排,返回重排的数组,注意该方法直接修改原数组的结构

  • sort(函数参数):对数组中元素排序,默认按照Unicode编码升序排列,返回重排后的数组,直接修改原有数组  函数参数 : 可选,自定义排序算法

 如果你学了Python的话,上面这些基本上就是列表的操作方法,过一遍就懂了。

2.2 String(字符串)对象

属性和方法

  • 转换字母大小写:

    • toUpperCase() 转大写字母

    • toLowerCase() 转小写字母

    • 返回转换后的字符串,不影响原始字符串

  • 获取字符或字符编码

    • charAt(index): 获取指定下标的字符

    • charCodeAt(index) 获取指定下标的字符编码

    • 参数为指定的下标,可以省略,默认为0

  • indexOf(str,fromIndex):获取指定字符的下标,从前向后查询,找到即返回

    • str 表示要查找的字符串,必填

    • fromIndex 表示起始下标,默认为0

    • 返回指定字符的下标,查找失败返回-1

  • 截取字符串

    • substring(startIndex,endIndex):根据指定的下标范围截取字符串,startIndex ~ endIndex-1,startIndex:表示起始下标 ,endIndex:表示结束下标,可以省略,省略表示截止末尾

    • substr(startIndex,len):从指定索引位置截取指定长度的字符串

  • split(param):将字符串按照指定的字符进行分割,以数组形式返回分割结果。参数 : 指定分隔符,必须是字符串中存在的字符,如果字符串中不存在,分割失败,仍然返回数组

  • match(regExp/subStr):查找字符串中满足正则格式或满足指定字符串的内容。返回 : 数组,存放查找结果

  • replace(regExp/subStr,newStr):根据正则表达式或字符串查找相关内容并进行替换,替换后的字符串,不影响原始字符串。

2.3 Math对象

Math对象主要提供一些列数学运算的方法

属性:圆周率 : Math.PI

我们主要用的就是他里面的随机数方法

  • Math.random() 随机生成0到1之间的数 包括0不包括1

  • Math.ceil() 向上取整(天花板值) 遇到小数向上取整

  • Math.floor() 向下取整(地板值) 遇到小数向下取整

  • Math.round() 四舍五入

2.4 日期对象

创建日期对象

let date1 = new Date("2022/11/11");
let date2 = new Date("2011/11/11 11:11:11");

日期对象方法

  1. getTime() 返回一个毫秒值 到时间零点的距离

  2. getFullYear() 返回年

  3. getMonth() 返回月 注意:得到的月份是从0开始 要返回当前月需要加1

  4. getDate() 返回日期

  5. getHours() 返回小时

  6. getMinutes() 返回分钟

  7. getSeconds() 返回秒

  8. getDay() 返回星期

 以上就是本期的学习内容,我们下一期再见!

 分享一张壁纸:

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

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

相关文章

SIEM 中不同类型日志监控及分析

安全信息和事件管理(SIEM)解决方案通过监控来自网络的不同类型的数据来确保组织网络的健康安全状况,日志数据记录设备上发生的每个活动以及整个网络中的应用程序,若要评估网络的安全状况,SIEM 解决方案必须收集和分析不…

mysql数据库使用技巧整理

查看当前数据库已建立的client连接 mysql中执行 -- 查看数据库允许的最大连接数,不是实时正在使用的连接数 SHOW VARIABLES LIKE max_connections; mysql中执行 -- 查看当前数据库client的连接数 SHOW STATUS LIKE Threads_connected; mysql中执行 -- 查看具…

微服务-gateway基本使用

文章目录 一、前言二、gateway网关1、什么是微服务网关?2、微服务架构下网关的重要性2.1、没有网关2.2、有网关 3、gateway的功能4、gateway实战4.1、依赖配置4.2、添加网关配置4.3、添加网关启动类4.4、查看项目是否启动成功4.5、验证路由配置是否正确 三、总结 一…

行业追踪,2023-09-04

自动复盘 2023-09-04 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

2023年高教社杯 国赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法,其…

用Qt自制一个小闹钟

小闹钟 功能 当按下启动按钮时,停止按钮可用,启动按钮不可用,闹钟无法设置,无法输入自定义内容 当按下停止按钮时,暂停播报,启动按钮可用,闹钟可以设置,可以输入自定义内容 .pro文…

分布式环境集成JWT(Java Web Token)

目录 一,说明:二,Token、Session和Cookie比较三,Spring Boot项目集成JWT1,引入依赖2,Token工具类3,定义拦截器4,注册拦截器5,编写登录代码6,测试 四&#xff…

Vue 2 nextTick方法|异步更新|事件循环

1 nextTick的用处 vm.$netTick的作用是将回调延迟到下次DOM更新周期之后执行。 它接受一个回调函数作为参数。 其实&#xff0c;在我们更新数据状态后&#xff0c;是不会立马渲染的&#xff0c;你不能即刻获取到新的DOM&#xff1a; <!DOCTYPE html> <html><…

[论文笔记]ESIM

引言 这是经典论文Enhanced LSTM for Natural Language Inference的笔记。 本篇论文文是建立在自然语言推理(Natural Language Inference,NLI)任务上的。提出了简单的通过基于LSTM的序列推理模型效果到达了当时的SOTA水平。同时基于该模型,在局部推理建模层和推理组合层使用了…

嵌入式岗位笔试面试专栏 - 岗位介绍

文章目录 一、嵌入式岗位的分类二、热门领域及公司三、发展前景四、技能要求沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将讲解嵌入岗位的工作职责 。 一、嵌入式岗位的分类 嵌入式软件工程师大致可以分为两种类型: 应用开发工程师驱动开发工程师应用工程…

安全基础 --- 原型链污染

原型链 大部分面向对象的编程语言&#xff0c;都是通过“类”&#xff08;class&#xff09;实现对象的继承。传统上&#xff0c;JavaScript 语言的继承不通过 class&#xff0c;而是通过“原型对象”&#xff08;prototype&#xff09;实现 1、prototype 属性的作用 JavaScri…

蝶形运算法

蝶形运算法是一种基于FFT&#xff08;Fast Fourier Transform&#xff09;算法的计算方法&#xff0c;其基本思想是将长度为N的DFT分解成若干个长度为N/2的DFT计算&#xff0c;并通过不断的合并操作得到最终的结果。该算法也称为“蝴蝶算法”&#xff0c;因为它的计算过程中需要…

Git 版本回退 超神步骤

Git 版本回退 一. 背景 多版本分支开发&#xff0c;合并版本问题太多&#xff0c;需要回滚到某次版本。我的git客服端工具是 sourcetree 二.操作步骤 2.1 切到当前需要回退版本的分支 2.2 右击需要具体某一个分支&#xff0c;这个分支就是你想切到的分支版本&#xff0c;具体…

Spark 环境安装与案例演示

Spark 环境安装 一、准备工作 1、hadoop成功安装 2、防火墙关闭 二、解压安装 1、上传 spark 安装包到/tools 目录&#xff0c;进入 tools 下&#xff0c;执行如下命令&#xff1a; tar -zxvf spark-2.1.0-bin-hadoop2.7.tgz -C /training/由于 Spark 的脚本命令和 Hadoop…

12 最小覆盖串

最小覆盖串 题解1 滑窗双指针模板&#xff08;labuladong&#xff0c;高效好套&#xff0c;length版&#xff09; 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 "&quo…

wpf从cs代码创建简单3D物体和3D Tools研究

前面已经说了&#xff0c;WPF项目中引入3DTools dll之后&#xff0c;在xaml中加入它的命名空间&#xff0c; xmlns:tools"clr-namespace:_3DTools;assembly3DTools" 把<Viewport3D>标签包含在<tools:TrackballDecorator>标签之中&#xff0c;就可以用鼠…

ping: www.baidu.com: Name or service not known 写了DNS还是不行

环境描述&#xff1a;ESXI平台上&#xff0c;一台Centos7虚拟主机。 问题描述&#xff1a;平台上的其他的虚拟机可以正常ping通&#xff0c;就这台ping IP地址可以通&#xff0c;ping域名解析失败。 排查过程&#xff1a; 1、检查网卡配置文件和/etc/resolv.conf配置文件是否…

【SQL学习笔记】关系模型与查询和更新数据

一、关系模型 1.1 主键 主键是关系表中记录的唯一标识。主键的选取非常重要&#xff1a;主键不要带有业务含义&#xff0c;而应该使用BIGINT自增或者GUID类型。主键也不应该允许NULL。 可以使用多个列作为联合主键&#xff0c;但联合主键并不常用。 1.2 外键 FOREIGN KEY …

0010Java程序设计-springboot+vue影院售票系统设计与实现

摘 要目 录系统实现开发环境 摘 要 看电影已经成为了人们生活中不可缺少的一部分&#xff0c;电影院售票及管理系统是电影院的日常管理及售票任务的核心&#xff0c; 在电影院中&#xff0c; 工作人员并非只是放映电影&#xff0c; 还有诸如票房统计、影片放映、影片场次安排、…

PE文件格式详解

摘要 本文描述了Windows系统的PE文件格式。 PE文件格式简介 PE&#xff08;Portable Executable&#xff09;文件格式是一种Windows操作系统下的可执行文件格式。PE文件格式是由Microsoft基于COFF&#xff08;Common Object File Format&#xff09;格式所定义的&#xff0c…