[JS]对象

news2024/11/23 15:10:37

介绍

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

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

使用

创建对象
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/10
  console.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.coloradmin.cn/o/1865763.html

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

相关文章

深入了解 msvcr120.dll问题解决指南,msvcr120.dll在电脑中的重要性

在Windows操作系统中&#xff0c;.dll 文件扮演了非常重要的角色&#xff0c;它们包含许多程序运行所需的代码和数据。其中 msvcr120.dll 是一个常见的动态链接库文件&#xff0c;是 Microsoft Visual C Redistributable Packages 的一部分。这篇文章将探讨 msvcr120.dll 的功能…

Profibus DP主站转Modbus模块连接马达保护器案例

一、概述 在工业自动化控制系统中&#xff0c;Profibus DP和Modbus是常见的通信协议&#xff0c;在同一现场还有可能遇到Modbus协议&#xff0c;ModbusTCP协议&#xff0c;Profinet协议&#xff0c;Profibus协议&#xff0c;Profibus DP协议&#xff0c;EtherCAT协议&#xff…

appinventor2中求某个值在列表中的索引用什么方法?

使用“求对象在列表中的位置”方法就可以了&#xff1a; 返回指定对象在列表中的位置&#xff0c;从 1 开始&#xff0c;如果不在列表中&#xff0c;则返回 0。 相应地&#xff0c;知道了索引&#xff0c;从列表中取值得方法是&#xff1a;选择列表中索引值对应的列表项 返回…

条码二维码读取设备在医疗设备自助服务的重要性

医疗数字信息化建设的深入推进&#xff0c;医疗设备自助服务系统已成为医疗服务领域的一大趋势&#xff0c;条码二维码读取设备作为自助设备的重要组成部分&#xff0c;通过快速、准确地读取条形码二维码信息&#xff0c;不公提升了医疗服务效率&#xff0c;还为患者提供了更加…

教你如何一键高效下载视频号直播视频

在当今视频号直播盛行的时代&#xff0c;错过精彩直播内容再也不是遗憾&#xff01;地瓜网络技术倾情推出“视频号直播视频下载器”&#xff0c;为您捕捉每一个直播瞬间。本文将简明扼要地指导您如何利用这款神器下载视频号直播与回放视频&#xff0c;让超清MP4视频轻松入库&am…

遇到不可复现的bug要怎么做?

测试人员遇到不可复现的bug要怎么做&#xff1f; 这是一个很常见的问题&#xff0c;也是一个很棘手的问题。不可复现的bug可能会给测试人员带来很大的困扰和压力&#xff0c;因为它们可能会影响软件的质量和用户的体验&#xff0c;但又很难找到问题的根源和解决方法。因此&…

算法与数据结构——时间复杂度详解与示例(C#,C++)

文章目录 1. 算法与数据结构概述2. 时间复杂度基本概念3. 时间复杂度分析方法4. 不同数据结构的时间复杂度示例5. 如何通过算法优化来提高时间复杂度6. C#中的时间复杂度示例7. 总结 算法与数据结构是计算机科学的核心&#xff0c;它们共同决定了程序的性能和效率。在实际开发中…

浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序

目录 我们发现csdn的文章 首先为了印证我们的想法 我们用postman往csdn我们任意一篇文章发起post请求 发送请求 ​编辑获得响应结果 我们发现我们的阅读量上涨 PostRequestSender类 但是我们经过测试发现 定义一个字符串数组 把URL放进去 然后延迟启动 在线程池里面…

浔川3样AI产品即将上线!——浔川总社部

浔川3样AI产品即将上线&#xff01; 浔川AI翻译v3.0 即将上线&#xff01; 浔川画板v5.1 即将上线&#xff01; 浔川AI五子棋v1.4 即将上线&#xff01; 整体通告详见&#xff1a;浔川AI五子棋&#xff08;改进&#xff08;完整&#xff09;版1.3&#xff09;——浔川python社…

【ocean】ocnPrin结合getData导出数据

核心就是这一句ocnPrint(?output fout leafValue( getData(“/output” ?result “dc”))) r_list list(4000, 4100, 4200) multi_list list(20,21,22) fout outfile("/home/yourpath/results.txt" "w") foreach(r_value r_listforeach(multi_value …

ONLYOFFICE 文档开发者版 8.1:API 更新

随着版本 8.1 新功能的发布&#xff0c;我们更新了编辑器、文档生成器和插件的 API&#xff0c;并添加了 Office API 板块。阅读下文了解详情。 ​ ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器&#xff0c;支持处理文本文档、电子表格、演示文稿、可填写…

2024 最新运营小工具 API 推荐,助力高效工作

在当今数字化运营的时代&#xff0c;各种高效便捷的 API 服务成为了企业和个人提升运营效率、获取精准数据的得力助手。无论是进行市场调研、拓展业务&#xff0c;还是优化网络资源配置&#xff0c;都离不开这些强大的工具。本文将为您详细介绍一系列实用的运营小工具 API 服务…

AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE-4.0-8K-latest&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xff01;《AI大模型日报》今日要点&#xf…

深入理解计算机系统 CSAPP 家庭作业7.12

A:refptr (unsigned)(ADDR(r.symbol) r.addend - refaddr) 0x4004f8 (-4) - 0x4004ea 0xa B:refaddr 0x4004d0 0xa 0x4004da refptr 0x400500 (-4) - 0x4004da 0x22 ​​​​​​​

第三届人工智能、物联网与云计算技术国际会议(AIoTC 2024)

第三届人工智能、物联网与云计算技术国际会议(AIoTC 2024)将于2024年9月13日-15日在中国武汉举行。本次会议由华中师范大学伍伦贡联合研究院与南京大学联合主办、江苏省大数据区块链与智能信息专委会承办、江苏省概率统计学会、江苏省应用统计学会、Sir Forum、南京理工大学、南…

1.Android逆向协议-环境搭建

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易锦网校 不是安卓逆向吗&#xff1f;为什么写java代码&#xff1f;因为逆向的时候涉及java语言 JDK环境搭建&#xff1a;JDK是JAVA语…

云计算-期末复习题-框架设计/选择/填空/简答(2)

目录 框架设计 1.负载分布架构 2.动态可扩展架构 3.弹性资源容量架构 4.服务负载均衡架构 5.云爆发结构 6.弹性磁盘供给结构 7.负载均衡的虚拟服务器实例架构 填空题/简答题 单选题 多选题 云计算期末复习部分练习题&#xff0c;包括最后的部分框架设计大题(只是部分…

ITSG、COST-G、Tongji和WHU Level-2数据产品读取绘图(Matlab)

数据介绍&#xff1a; ICGEM International Center for Global Gravity Field Models (gfz-potsdam.de) ITSG 2018&#xff1a;Institute of Geodesy at Graz University of Technolog&#xff08;格拉茨理工大学大地测量研究所&#xff09; 2018版本&#xff0c;最高60阶球谐…

通信系统网络架构_3.移动通信网络架构

移动通信网为移动互联网提供了强有力的支持&#xff0c;尤其是5G网络为个人用户、垂直行业等提供了多样化的服务。以下从业务应用角度给出面向5G网络的组网方式。 1.5GS与DN互连 5GS&#xff08;5G System&#xff09;在为移动终端用户&#xff08;User Equipment&#xff0c;…

JVM专题十二:JVM 中的收集器二

上一篇JVM专题十一&#xff1a;JVM 中的收集器一咱们介绍了垃圾收集器的分类&#xff0c;已经主流的分代垃圾收集器重点看了CMS与三色标记算法&#xff0c;本篇咱们继续来看意G1、ZGC等。 G1收集器 G1&#xff08;Garbage-First Garbage Collector&#xff09;是一种服务器端的…