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

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需要所有元素都满足条件,则返回trueconsole.log(arr.every(item => item.price >= 20));// some只要有一个元素满足条件,则返回trueconsole.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.222console.log(num.toFixed(1));const num1 = 10console.log(num1.toFixed(2));

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

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

相关文章

使用wire重构商品微服务

一.wire简介 Wire 是一个轻巧的Golang依赖注入工具。它由Go Cloud团队开发,通过自动生成代码的方式在编译期完成依赖注入。 依赖注入是保持软件 “低耦合、易维护” 的重要设计准则之一。 此准则被广泛应用在各种开发平台之中,有很多与之相关的优秀工…

使用pyftpdlib组件实现FTP文件共享

目录 一、引言 二、技术背景 三、实现逻辑 1、创建FTP服务器: 2、实现文件共享: 3、设置用户权限: 4、处理异常: 5、优化与扩展: 四、代码实现 五、测试与评估 测试用例: 评估方法:…

React/Vue/Svelte 前端项目中开始使用TailwindCSS

背景 TailwindCSS 近年来在前端圈非常流行,它摆脱了原有的CSS限制,以灵活实用为卖点,用户通过各种class组合即可构建出漂亮的用户界面。对于初学者而言,可能需要一些上手成本,一旦掌握实用技巧后,Tailwind…

Unity中Batching优化的GPU实例化整理总结

文章目录 前言一、GPU Instancing的支持1、硬件支持2、Shader支持3、脚本支持 二、我们来顺着理一下GPU实例化的使用步骤1、GPU实例化前的C#代码准备2、在 appdata 和 v2f 中定义GPU实例化ID3、在顶点着色 和 片元着色器 设置GPU Instance ID,使实例化对象顶点位置正…

Docker的资源控制

Docker的资源控制: 对容器使用宿主机的资源进行限制。 CPU 内存 磁盘I/O(读写性能) docker使用linux自带的功能cgroup control groups是linux内核系统提供的一种可以限制,记录,隔离进程组所使用的物理资源的一种机制。 docker借助这个机制…

go grpc高级用法

文章目录 错误处理常规用法进阶用法原理 多路复用元数据负载均衡压缩数据 错误处理 gRPC 一般不在 message 中定义错误。毕竟每个 gRPC 服务本身就带一个 error 的返回值,这是用来传输错误的专用通道。gRPC 中所有的错误返回都应该是 nil 或者 由 status.Status 产…

如何克服微服务测试的挑战,并最大化收益

多年来,微服务一直是行业趋势,但组织却未能从该方法中获益,并因发布失败而苦苦挣扎。这些失败通常归结为测试服务之间的接口以获得预期的质量、安全性和性能的困难。 最终,未能以足够稳健的方式测试这些 API。一线希望是遗留 SOA…

cookie总结

cookie和session: 一、Cookie和Session二、使用Cookie保存用户上次的访问时间。三、Cookie常用方法总结乱码问题解决: 一、Cookie和Session 会话:用户从打开浏览器到关闭的整个过程就叫1次会话。 比如有的网站登录过一次,下次再进…

使用 Kubernetes 为 CI/CD 流水线打造高效可靠的临时环境

介绍 在不断发展的科技世界中,快速构建高质量的软件至关重要。在真实环境中测试应用程序是及早发现和修复错误的关键。但是,在真实环境中设置 CI/CD 流水线进行测试可能既棘手又昂贵。 Kubernetes 是一个流行的容器编排平台,提供临时环境解决…

【qt】Qt+OpenCv读取带有中文路径的图片

【opencv4.5.1版本】下载exe解压即可。。。https://opencv.org/releases/page/2/ 【qt5.15.2】 pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compile if it uses deprecated APIs. # In order to …

硕士毕业论文格式修改要点_word

目录 0、最开始要做的事情1、更改样式(先善器)2、多级标题(解决自动更新问题必要的基础设置)2、插入图片(1)设置一个图片样式——“无间隔”(2)插入题注(3)修…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(完整版)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…

小白学java栈的经典算法问题——第四关白银挑战

内容1.括号匹配问题2.最小栈3.最大栈 1.括号匹配问题 栈的典型题目还是非常明显的,括号匹配、表达式计算等等几乎都少不了栈,本小节我们就看两个最经典的问题 首先是LeetCode20,链接 本道题还是比较简单的,其中比较麻烦的是如何判断两个符…

力扣面试题 08.12. 八皇后(java回溯解法)

Problem: 面试题 08.12. 八皇后 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 八皇后问题的性质可以利用回溯来解决,将大问题具体分解成如下待解决问题: 1.以棋盘的每一行为回溯的决策阶段,判断当前棋盘位置能否放置棋子 2.如何判…

hbuilder + uniapp +vue3 开发微信云小程序

1、创建项目: 2、创建项目完成的默认目录结构: 3、在根目录新建一个文件夹cloudFns(文件名字随便),存放云函数源码: 4、修改manifest.json文件:添加 小程序 appid和cloudfunctionRoot&#xff0…

python的websocket方法教程

WebSocket是一种网络通信协议,它在单个TCP连接上提供全双工的通信信道。在本篇文章中,我们将探讨如何在Python中使用WebSocket实现实时通信。 websockets是Python中最常用的网络库之一,也是websocket协议的Python实现。它不仅作为基础组件在…

pyside/qt03——人机协同的编程教学—直接面向chatGPT实战开发(做中学,事上练)

先大概有个草图框架,一点点丰富 我纠结好久,直接用Python写UI代码 还是用designer做UI 再转Python呢, 因为不管怎么样都要转成Python代码, 想了想还是学一下designer吧,有个中介,有直观理解。 直接这样也可…

智能优化算法应用:基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于食肉植物算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.食肉植物算法4.实验参数设定5.算法结果6.参考…

设计并实现一个多线程图书馆管理系统,涉及数据库操作

没有实现全部功能,希望路过的大佬,可以实现全部功能,在评论区聊聊 创建数据库library-demo CREATE DATABASE library-demo创建图书表book CREATE TABLE book (bookId int(11) NOT NULL AUTO_INCREMENT COMMENT 图书ID,bookName varchar(15)…

HarmonyOS创建JavaScript(类 Web开发模式)项目

上文 HarmonyOS带大家创建自己的第一个Page页面并实现路由跳转(ArkTS)带大家创建了我们项目中第一个自己创建的page 并完成了一个跳转逻辑的编写 上文的开发模式是 ArkTS 的 也被称为 声明式开发范式 还有一种 javaScript的 类Web开发模式 这种方式就类似于我们传统的前端开发模…