深入了解对象与内置构造函数

1. 深入对象

1.1 创建对象的三种方式

在这里插入图片描述
在这里插入图片描述

1.2 构造函数

在这里插入图片描述
语法约定:
在这里插入图片描述
在这里插入图片描述

总结

  • 构造函数可以快速创建多个对象
  • 大写字母开头的函数
  • 使用new关键字将对象实例化
  • 构造函数不需要返回值自动返回新的对象

new实例化的执行过程

在这里插入图片描述

  1. 创建空对象
  2. this指向对象
  3. 执行代码,追加新的属性
  4. 返回新对象

1.3 实例成员&静态成员

实例成员

在这里插入图片描述

静态成员

在这里插入图片描述

总结
  • 实例对象的属性和方法为实例成员
  • 实例对象是相互独立的,实例成员当前实例对象可以使用
  • 构造函数的属性和方法称为静态成员
  • 静态成员只能构造函数访问

2. 内置构造函数

在这里插入图片描述

2.1 Object

在这里插入图片描述

三个常用静态方法(只有Object可以调用)

1. Object.keys

在这里插入图片描述

2. Object.values

在这里插入图片描述

3. Object.assign

在这里插入图片描述

    // 获得所有属性名
    console.log(Object.keys(o));
    // 获得所有属性值
    console.log(Object.values(o));
    // 对象的拷贝
    const oo = {}
    Object.assign(oo, o)
    console.log(oo);

    // 给对象追加新属性
    Object.assign(o, { gender: '你爹' })

2.2 Array

2.2.1 数组常见实例方法

在这里插入图片描述

reduce方法

在这里插入图片描述

reduce执行过程

在这里插入图片描述

	const arr = [1, 2, 3]
	
	// 无初始值情况
    const total = arr.reduce(function (prev, curr) {
      return prev + curr
    })
    console.log(total);
    // pre  cur return  for
    // 1    2   3       1
    // pre  cur return  for
    // 3    3   6       2
    
    // 有初始值情况
    const total = arr.reduce((pre, cur) => pre + cur, 10)
    console.log(total);
    // pre  cur return  for
    // 10   1   11       1
    // pre  cur return  for
    // 11   2   13       2
    // pre  cur return  for
    // 13   3   16       3
其他常见方法

在这里插入图片描述
在这里插入图片描述

    const arr = [
      {
        name: 'mi',
        price: 20
      },
      {
        name: 'hw',
        price: 30
      }
    ]
	//直接返回对应的对象
    console.log(arr.find(item => item.name === 'mi'));
    // every需要所有元素都满足条件,则返回true
    console.log(arr.every(item => item.price >= 20));
    // some只要有一个元素满足条件,则返回true
    console.log(arr.some(item => item.name === 'mi'));

2.2.2 伪数组转换为真数组

静态方法Array.from

    const lis = document.querySelectorAll('li')
    console.log(lis);
    const liss = Array.from(lis)
    liss.pop()
    console.log(liss);

2.3 String

在这里插入图片描述

2.3.1 常见示例方法

在这里插入图片描述

substring
    const str = '0123456'
    console.log(str.substring(1));//没有第二个参数,直接取到最后一个
    console.log(str.substring(1, 4));//左闭右开
startsWith
    const str = '0123456'
    console.log(str.startsWith('0'));//是否以参数开头,结果返回布尔值
    console.log(str.startsWith('0', 2));//第二个参数代表在字符串中的起始位置
includes
    const str = '我是你爹'
    console.log(str.includes('爹'));//在字符串中寻找是否含有要找的字符串
    console.log(str.includes('爹', 2));//第二个参数代表索引的起始位置

2.4 Number

在这里插入图片描述

    // toFIxed让数字保留指定小数位数
    const num = 1.222
    console.log(num.toFixed(1));
    const num1 = 10
    console.log(num1.toFixed(2));

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

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

相关文章

class069 从递归入手三维动态规划【算法】

class069 从递归入手三维动态规划 code1 474. 一和零 // 一和零(多维费用背包) // 给你一个二进制字符串数组 strs 和两个整数 m 和 n // 请你找出并返回 strs 的最大子集的长度 // 该子集中 最多 有 m 个 0 和 n 个 1 // 如果 x 的所有元素也是 y 的元素,集合 x 是…

SVN修改已提交版本的日志方法

1.在工做中一直是使用svn进行項目的版本控制的,有时候因为提交匆忙,或是忘了添加Log,或是Log内容有错误。遇到此类状况,想要在查看项目的日志时添加log或是修改log内容,遇到以下错误: Repository has not b…

2023最新最全【Wireshark 】 安装教程(附安装包)

简介 wireshark是非常流行的网络封包分析工具,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 为了安全考虑,wireshark只能查看封包,而…

公式识别任务各个链条全部打通

目录 引言公式识别任务是什么?公式识别任务解决方案初探使用建议写在最后 引言 随着LaTeX-OCR模型转换问题的解决,公式识别任务中各个链条已经全部打通。小伙伴们可以放开膀子干了。 解决业界问题的方案,并不是单独训练一个模型就完事了&am…

汽车网络安全--关于UN R155认证的思考

1.UN R155概述 2020年6月25日,联合国颁布了全球首个汽车网络安全强制性法规 -- UN 155,详细规定了关于评估网络安全措施的审核条款、制造商和供应商降低网络安全风险的方法以及实施风险评估的义务等。 法规适用于与信息安全相关的M类(4轮及以上载客汽车)、N类(四轮载货汽车)…

[MySQL--进阶篇]存储引擎的体系结构、简介、特点、选择

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录:不要在乎别人怎么看你,因为他们根本就没有时间,他们只关心他们自己。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法 MySQL数据库 存储引擎 前言MySQL体…

Leetcode刷题笔记题解(C++):25. K 个一组翻转链表

思路&#xff1a;利用栈的特性&#xff0c;K个节点压入栈中依次弹出组成新的链表&#xff0c;不够K个节点则保持不变 /*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) : val(x), next(nullptr) {}* };*/ #include <stack> class Solution { …

【数据结构 — 排序 — 选择排序】

数据结构 — 排序 — 选择排序 一.选择排序1.基本思想2.直接选择排序2.1算法讲解2.2.代码实现2.2.1.函数定义2.2.2.算法接口实现2.2.3.测试代码实现2.2.4.测试展示 3.堆排序3.1.算法讲解3.2.代码实现3.2.1.函数定义3.2.2.算法接口实现3.2.3.测试代码实现3.2.4.测试展示 一.选择…

【数据结构实践课设】新生报道注册管理信息系统

目录 1.主要框架 2.写入文件 3.读取文件 4.注册学生信息 5.增加学生信息 6.删除学生信息 7.按姓名查询 8.按班级查询 9.按专业查询 10.打印学生信息 11.完整代码 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所…

【深度学习】强化学习(四)强化学习的值函数

文章目录 一、强化学习问题1、交互的对象2、强化学习的基本要素3、策略&#xff08;Policy&#xff09;4、马尔可夫决策过程5、强化学习的目标函数6、值函数1. 状态值函数&#xff08;State Value Function&#xff09;a. 状态值函数的定义b. 贝尔曼方程&#xff08;Bellman Eq…

Android 11 适配——整理总结篇

背景 > 经过检测&#xff0c;我们识别到您的应用&#xff0c;目前未适配安卓11&#xff08;API30&#xff09;&#xff0c;请您关注适配截止时间&#xff0c;尽快开展适配工作&#xff0c;避免影响应用正常发布和经营。 > targetSdkVersion30 升级适配工作参考文档&am…

107.管道(有名、无名管道)

目录 管道 无名管道 无名管道的创建 无名管道的基本用法 有名管道 写管道的进程&#xff1a; 读管道的进程&#xff1a; 管道 管道是一种进程间通信的机制&#xff0c;允许一个进程的输出直接作为另一个进程的输入。在Linux 系统中&#xff0c;管道通过 pipe 系统调用来…

javaSwing酒店管理系统

一、 使用方法&#xff1a; 在使用前&#xff0c;需要到druid.properties 配置文件中&#xff0c;修改自己对应于自己数据库的属性&#xff1b;如用户名&#xff0c;密码等 driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql:///hotel?useUnicodetrue&characterEn…

【C++ 程序设计入门基础】- 第3节-循环结构02

目录 while 语句 案例 while 循环 输入一个整数 n &#xff0c;输出 1~n 的所有整数。 查看运行结果&#xff1a; while 语句结构解析 do while 语句 案例 do while 循环 输入一个整数n&#xff0c;输出1&#xff5e;n的所有整数。 查看运行结果 while、do while的区别 …

Go压测工具

前言 在做Go的性能分析调研的时候也使用到了一些压测方面的工具&#xff0c;go本身也给我们提供了BenchMark性能测试用例&#xff0c;可以很好的去测试我们的单个程序性能&#xff0c;比如测试某个函数&#xff0c;另外还有第三方包go-wrk也可以帮助我们做http接口的性能压测&…

TCP为什么可靠之“重传机制”

TCP重传机制 TCP针对数据包丢失的情况&#xff0c;会通过重传机制解决&#xff0c;包括像超时重传、快速重传、选择确认SACK、D-SACK 超时重传 TCP会设置一个定时器&#xff0c;如果在发送数据之后的规定时间内&#xff0c;没有收到对方的ACK报文&#xff0c;就会触发重新发…

【Qt开发流程】之容器类2:使用STL风格迭代器进行遍历

概述 对于每个容器类&#xff0c;都有两种stl风格的迭代器类型:一种提供只读访问&#xff0c;另一种提供读写访问。应该尽可能使用只读迭代器&#xff0c;因为它们比读写迭代器快。 STL迭代器的API以数组中的指针为模型。例如&#xff0c;操作符将迭代器推进到下一项&#xf…

vue2+datav可视化数据大屏(1)

开始 &#x1f4d3; 最近打算出一个前端可视化数据大屏的系列专栏&#xff0c;这次将很全面的教大家设计可视化大屏&#xff0c;从开始到打包结束&#xff0c;其中&#xff0c;包括如何设计框架&#xff0c;如何封装axios&#xff0c;等等&#xff0c;本次使用的数据均为mock数…

关于AllowBeanDefinitionOverriding属性设置问题

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

二叉树的OJ练习(二)

通过前序遍历数组构建二叉树 题目&#xff1a;通过前序遍历的数组&#xff08;ABD##E#H##CF##G##&#xff09;构建二叉树 TreeNode* TreeCreat(char* a,int* pi) {if(a[*pi] #){(*pi);return NULL; }TreeNode* root (TreeNode*)malloc(sizeof(TreeNode));if(root NULL){p…