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.rhkb.cn/news/122458.html

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

相关文章

机器人中的数值优化(六)—— 线搜索最速下降法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,…

LeetCode 18 四数之和

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 固定两个数&#xff0c;然后利用双指针来进行剩下两个数的筛选 主要使用的是三数之和的思想&#xff0c;具体可以看我上篇博客 注意去重 代码 class Solution { public:vector<…

STM32微控制器的低功耗模式

STM32微控制器的低功耗模式(Low-power modes):Sleep mode、Stop mode 和 Standby mode。 1.1 Sleep Mode(睡眠模式): 把STM32微控制器当作一位劳累的工人,他在工作过程中需要短暂的休息。在Sleep模式下,微控制器会关闭一部分电路,减小功耗,但仍然保持对中央处理单…

机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

【FPGA项目】沙盘演练——基础版报文收发

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 第1个虚拟项目 前言 点灯开启了我们的FPGA之路&#xff0c;那么我们来继续沙盘演练。 用一个虚拟项目&#xff0c;来入门练习&#xff0c;以此步入数字逻辑的大门。 Key Words&…

功能测试常用的测试用例大全

登录、添加、删除、查询模块是我们经常遇到的&#xff0c;这些模块的测试点该如何考虑 1)登录 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求&#xff0c;密码不符合要求(格式上的要求) ④ 密码符合要求&#xff0c;…

python-爬虫-xpath方法-批量爬取王者皮肤图片

import requests from lxml import etree获取NBA成员信息 # 发送的地址 url https://nba.hupu.com/stats/players # UA 伪装 google header {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.3…

自然语言处理历史史诗:NLP的范式演变与Python全实现

目录 一、引言什么是自然语言处理&#xff1f;语言与人类思维自然语言的复杂性NLP的历史轨迹 二、20世纪50年代末到60年代的初创期符号学派重要的研究和突破 随机学派重要的研究和突破 三、20世纪70年代到80年代的理性主义时代基于逻辑的范式重要的研究和突破 基于规则的范式重…

前端瀑布流效果

先看效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head> &l…

python调用C语言库

1. 在linux下通过gcc生成so库 //请保存为 foo.c #include<stdio.h> #define uint8_t unsigned char #define uint16_t unsigned shorttypedef struct TagMyStruct {char name[10];uint8_t age;int score; } MyStruct,*MyStructPointer;MyStructPointer foo_get_data_…

智慧工厂能源管理系统

随着全球工业4.0浪潮的推进&#xff0c;制造业逐渐向智能化、绿色化方向发展。其中&#xff0c;智慧工厂能源管理系统作为绿色智能制造的重要组成部分&#xff0c;对于提高企业能源利用效率、降低生产成本具有重要意义。本文将从智慧工厂能源管理系统的背景、技术架构、功能及应…

报错:axios发送的所有请求都是404

axios发送的所有请求都是404 一、问题二、分析三、解决一、问题 对后台发送数据请求接口,在 Swagger 上是可以请求到的 但是通过 Ajax 发送请求就会报 404 Swagger 上调用如下 项目接口请求如下

实践和项目:解决实际问题时,选择合适的数据结构和算法

文章目录 选择合适的数据结构数组链表栈队列树图哈希表 选择合适的算法实践和项目 &#x1f389;欢迎来到数据结构学习专栏~实践和项目&#xff1a;解决实际问题时&#xff0c;选择合适的数据结构和算法 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT…

简易版人脸识别qt opencv

1、配置文件.pro #------------------------------------------------- # # Project created by QtCreator 2023-09-05T19:00:36 # #-------------------------------------------------QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET 01_face TEMP…

FLUX查询InfluxDB -- InfluxDB笔记三

1. 入门 from(bucket: "example_query") // 没有筛选条件直接查询会报错|> range(start: -1h) // |>是管道符&#xff0c;后跟筛选条件 2. 序列、表和表流 序列是InfluxDB的概念&#xff0c;一个序列是由measurement、标签集、一个字段名称 表流是FLUX为了…

Python Opencv实践 - 轮廓特征(最小外接圆,椭圆拟合)

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/stars.PNG") plt.imshow(img[:,:,::-1])#轮廓检测 img_gray cv.cvtColor(img, cv.COLOR_BGR2GRAY) ret,thresh cv.threshold(img_gray, 127, 255, 0) contou…

纯前端实现 导入 与 导出 Excel

最近经常在做 不规则Excel的导入&#xff0c;或者一些普通Excel的导出&#xff0c;当前以上说的都是纯前端来实现&#xff1b;下面我们来聊聊经常用到的Excel导出与导入的实现方案&#xff0c;本文实现技术栈以 Vue2 JS 为例 导入分类&#xff1a; 调用 API 完全由后端来解析数…

C++(QT)画图行车

通过鼠标在窗口上点击形成多个点的连线&#xff0c;绘制一辆汽车沿着绘制的连线轨迹前进。要求连线点数大于20.可以通过清除按钮清除已经绘制的连线&#xff0c;并可以重新绘制一条轨迹连线。当车辆行驶到轨迹终点时&#xff0c;自动停止。&#xff08;汽车实在可用方块代替&am…

MIT6.S081实验环境搭建

MIT6.S081 lab 环境搭建 本文参考了MIT的官方指南和知乎文章环境搭建 step1 首先需要一个ubuntu20.04的系统&#xff0c;我使用的是vscode的WSL2连接的ubuntu20.04&#xff0c;使用virtual box建一个ubuntu20.04的虚拟机应该也可以。 可以用 lsb_release -a 查看一下自己ub…