[JS]对象

介绍

对象是一种无序的数据集合, 可以详细的描述某个事物

事物的特征在对象中用属性来表示, 事物的行为在对象中用方法来表示

使用

创建对象
let 对象名 = {属性名:值,方法名:函数,
}
let 对象名 = new Object();
对象名.属性 = 值;
对象名.方法名 = 函数;
  1. 对象的属性用来描述对象的信息, 一般是名词性的
  2. 属性名可以用引号包裹, 一般情况下省略, 除非名称包含特殊符号( 空格 / 中横线)
  3. 对象的方法用来描述对象的行为, 一般是动词性的
  4. 方法名可以用引号包裹, 一般情况下省略, 除非名称包含特殊符号( 空格 / 中划线 )
操作对象

访问

  • 对象名.属性名 // 常规访问
  • 对象名["属性名"] // 特殊访问
  • 对象名.方法名();

修改

  • 对象名.属性名 = 新值
  • 对象名.方法名 = 新函数

新增

  • 对象名.新属性名 = 值
  • 对象名.新方法名 = 函数

删除

  • delete 对象名.属性名 // 严格模式失效

遍历对象

不能像遍历数组一样遍历对象

  1. 对象没有像数组一样的length属性,所以无法确定长度
  2. 对象里面是无序的键值对, 没有规律. 不像数组里面有规律的下标

for(let k in 对象名) {console.log(k)         // 得到属性名(字符串)console.log(对象名[k])  // 得到属性值
}

内置对象

JS内部提供的对象, 包含各种属性和方法给开发者调用

Math对象

提供了一系列数据运算的方法

  • Math.max(); 最大值
  • Math.min(); 最小值
  • Math.ceil(); 向上取整
  • Math.floor; 向下取整
  • Math.random(); // 生成随机数, 0-1之间, 包含0不包含1, [0-1)
  • 查询更多: https://developer.mozilla.org/zh-CN/
// 生成0-10的随机数
Math.floor(Math.random() * (10 + 1))// 生成5-10的随机数
Math.floor(Math.random() * (5 + 1)) + 5// 生成n-m的随机数
Math.floor(Math.random() * (M - N + 1)) + N// 生成数组随机下标Math.floor(Math.random() * arr.length)

Data对象

提供了一些列和时间相关的方法

// 获取系统时间
const date = new Date()// 获取指定的时间对象
const date = new Date('2022-12-08')

对象方法

日期对象返回的数据不直观, 所以要经常的进行格式转换

<script>function getMyDate() {const date = new Date();let h =  date.getHours();let m =  date.getMinutes();let s =  date.getSeconds();h = h > 10 ? h : '0' + h;m = m > 10 ? m : '0' + m;s = s > 10 ? s : '0' + s;return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${h}:${m}:${s}`}console.log(getMyDate());</script>
<script>const date = new Date();console.log(date.toLocaleString());   // 2022/1/10 09:15:05 console.log(date.toLocaleDateString());  // 2022/1/10console.log(date.toLocaleTimeString());  // 09:15:05 
</script>
<script>const arr = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六',] arr[new Date().getDay()]
</script>

时间戳

1970年1月1日00时00分00秒起到现在的毫秒数, 是一种计量时间的方式, 用于实现时间的计算

// 方法1
cosnt date = new Date()
date.getTime()// 方法2 (推荐)
+new Date()
+new Date('2023-12-15 16:00:00')// 方法3
// 只能获取当前的时间戳
Date.now()
<script>// 1.计算剩余时间秒数// 剩余时间毫秒数 = 未来的时间戳 - 现在的时间戳const surplus = (+new Date('2024-8-12 12:00:00') - +new Date()) / 1000;// 2.转换时间格式let d = Math.floor(surplus / 60 / 60 / 24); // 剩余天数let h = Math.floor(surplus / 60 / 60 % 24); // 剩余小时let m = Math.floor(surplus / 60 % 60);      // 剩余分钟let s = Math.floor(surplus % 60);           // 剩余秒数// 3.拼接剩余时间const date = `${d}天${h}小时${m}分钟${s}秒`;console.log(date);
</script>
Set数据结构

定义:类似于数组,但是里面的成员是唯一的.

创建: 本身是一个构造函数.

1, const set = new Set();

2, set.size // 求集合大小(set里面包含几个元素)

数组去重:

let set1 = new Set([1,1,2,2,3]) //用Set数据结构去重

let arr = [...set1] //用扩展运算符解析Set

arr = [1,2,3] //得到的新数组就是去重的数组

增删改查:

用法: 可以用逗号隔开写多个值

let set = new Set()

set.add('a')

set.delete('a')

set.clear()

set.has('a')

add()方法 :添加功能,返回Set结构

delete()方法:删除功能,返回布尔值

has()方法:查找功能,返回布尔值

clear()方法:清空功能,清空全部值

遍历: forEach()方法

set.forEach(item=>{ log(item) })

item就是set数据结构的每一项

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

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

相关文章

Typora failed to export as pdf. undefined

变换版本并没有用&#xff0c;调整图片大小没有用 我看到一个博客后尝试出方案 我的方法 解决&#xff1a;从上图中的A4&#xff0c;变为其他&#xff0c;然后变回A4 然后到处成功&#xff0c;Amazing&#xff01; 参考&#xff1a; Typora 导出PDF 报错 failed to export…

Rpc服务的提供方(Rpcprovider)的调用流程

首先&#xff0c;服务的提供方&#xff0c;会通过rpcprovider向rpc服务方注册rpc服务对象和服务方法&#xff0c; 那么&#xff0c;我们通过protobuf提供的抽象层的service和method&#xff0c;将服务对象和它所对应的服务方法记录在map表中&#xff0c; 当它启动以后&#xff…

WordPress Quiz Maker插件 SQL注入漏洞复现(CVE-2024-6028)

0x01 产品简介 WordPress Quiz Maker插件是一款功能强大的测验生成工具,旨在帮助用户轻松、快速地构建复杂的测验和考试。插件支持多种问题类型,包括单选框(MCQ)、复选框(MCQ)、下拉列表(MCQ)、文本、短文本、数字、日期等。还支持横幅(HTML)显示信息性消息、填空题…

LONGAGENT:优化大模型处理长文本

现有的大模型&#xff08;LLMs&#xff09;&#xff0c;尽管在语言理解和复杂推理任务上取得了显著进展&#xff0c;但在处理这些超长文本时却常常力不从心。它们在面对超过10万令牌的文本输入时&#xff0c;常常会出现性能严重下降的问题&#xff0c;这被称为“中间丢失”现象…

Docker基本使用和认识

目录 基本使用 镜像仓库 镜像操作 Docker 如何实现镜像 1) namespace 2) cgroup 3) LXC Docker常见的网络类型 bridge网络如何实现 基本使用 镜像仓库 镜像仓库登录 1)docker login 后面不指定IP地址&#xff0c;则默认登录到 docker hub 上 退出 2)docker logo…

互联网直播/点播技术与平台创新应用:视频推拉流EasyDSS案例分析

随着互联网技术的快速发展&#xff0c;直播/点播平台已成为信息传播和娱乐的重要载体。特别是在电视购物领域&#xff0c;互联网直播/点播平台与技术的应用&#xff0c;不仅为用户带来了全新的购物体验&#xff0c;也为商家提供了更广阔的营销渠道。传统媒体再一次切实感受到了…

嵌入式Linux系统编程 — 4.7 regcomp、regexec、regfree正则表达式函数

目录 1 为什么需要正则表达式 2 正则表达式简介 3 正则表达式规则 4 regcomp、regexec、regfree函数 4.1 函数介绍 4.2 URL格式案例 1 为什么需要正则表达式 在许多的应用程序当中&#xff0c; 有这样的应用场景&#xff1a; 给定一个字符串&#xff0c;检查该字符串是否…

【小学期】常用基于Swing的七个静态界面

示例1&#xff1a;基本的带按钮和标签的界面 import javax.swing.*; import java.awt.*;public class SimpleSwingApp1 {public static void main(String[] args) {JFrame frame new JFrame("Simple Swing App 1");frame.setDefaultCloseOperation(JFrame.EXIT_ON_C…

5个大气的wordpress付费主题

Sesko赛斯科wordpress外贸主题 适合用于重型机械设备公司建外贸官方网站的橙红色wordpress外贸主题。 https://www.jianzhanpress.com/?p5886 Polar钋啦wordpress外贸主题 制造业wordpress网站模板&#xff0c;适合生产制造企业官方网站使用的wordpress外贸主题。 https:/…

识图生成代码:通义千问vsGPt4o,有点小崩

今日对比一下通义千问和GPt4o&#xff0c;在通过识别图片然后去生成前端代码 在当今ai的时代&#xff0c;通过ai去生成页面的代码可以很大的提高我们的开发效率下面是我们要求的生成的图片截图&#xff0c;这是掘金的榜单 效果对比 首先我们使用通义千问&#xff0c;让他去帮我…

学校消防设施设备管理系统

建立和落实校园消防安全管理责任制,做到消防安全工作有人专管,部门和岗位有人落实的日常管理&#xff0c;及时发现消防安全隐患,及时反映,及时处理,杜绝校园内消防安全隐患。 凡尔码平台搭建学校消防设施设备管理系统可以通过设备管理系统对消防器材设施基本信息、设施有效期、…

[leetcode]avoid-flood-in-the-city 避免洪水泛滥

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> avoidFlood(vector<int>& rains) {vector<int> ans(rains.size(), 1);set<int> st;unordered_map<int, int> mp;for (int i 0; i < rains.size(); i) {i…

运维锅总详解HAProxy

本文尝试从HAProxy简介、HAProxy工作流程及其与Nginx的对比对其进行详细分析&#xff1b;在本文最后&#xff0c;给出了为什么Nginx比HAProxy更受欢迎的原因。希望对您有所帮助&#xff01; HAProxy简介 HAProxy&#xff08;High Availability Proxy&#xff09;是一款广泛使…

Springboot 整合 DolphinScheduler(二):UI页面上的主要功能介绍

&#x1f4cd;当前部署情况&#xff1a;DolphinScheduler V2.0.6 已经在三台服务器上安装完毕&#xff0c;具体如下&#xff1a; 角色 服务器IP master 192.168.1.247 master 192.168.1.248 worker 192.168.1.249 &#x1f4c2; 具体搭建过程&#xff1a;Springboot 整…

绕过命令过滤器:探索UnixLinux中的Bypass技术

前言 在Unix或Linux系统的安全测试和网络防御中&#xff0c;了解如何绕过命令过滤器是非常重要的。今天&#xff0c;我们将探讨几种利用shell命令绕过安全限制的技巧&#xff0c;这些技巧常用于渗透测试中&#xff0c;以检测系统的安全漏洞。 0x00 命令介绍 一般而言&#x…

ros1仿真导航机器人 hector_mapping gmapping

仅为学习记录和一些自己的思考&#xff0c;不具有参考意义。 1 hector_mapping 建图过程 &#xff08;1&#xff09;gazebo仿真 roslaunch why_simulation why_slam.launch <launch><!-- We resume the logic in empty_world.launch, changing only the name of t…

算法-位运算基础

文章目录 前置知识1. 交换两个数2. 比较两个数的大小3. leetcode268 寻找缺失的数字4. leetcode136 只出现一次的数字5. leetcode260 只出现一次的数字|||6. leetcode137 只出现一次的数字||7. 2/3的幂8. 大于等于该数字的最小2的幂9. leetcode201 数字范围按位与10. 位运算中分…

effective java (1)(考虑使用!)静态工厂方法代替构造方法

只是目前阶段 对本书第一章内容的浅显认知&#xff0c;说实话 这一章 我看了4遍左右&#xff0c;每一遍感觉都不一样 他的创建模式 有时候像设计模式&#xff0c;但作者已经在原文中描述&#xff0c;它并不等价于 设计模式 我们正常 创建一个年级类 是长这样的 我们不写成标准…

C语言 for循环

for循环语句 //初始化 //判断 //调整 for&#xff08;表达式1; 表达式2; 表达式3;&#xff09;循环语句; 例&#xff1a; for循环里break for循环里continue 注&#xff1a;1.不可在for循环体内修改循环变量&#xff0c;防止for循环失去控制 2.建议for语句的循环控制变量的…

open-chat-video-editor:开源短视频生成和编辑工具,以及抖音|TikTok 的移动端短视频项目

open-chat-video-editor&#xff1a;开源短视频生成和编辑工具&#xff0c;以及抖音|TikTok 的移动端短视频项目。 open-chat-video-editor&#xff1a;开源短视频生成和编辑工具 简介 Open Chat Video Editor是开源的短视频生成和编辑工具&#xff0c;整体技术框架如下&…