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

news2024/11/28 0:34:18

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));

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

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

相关文章

AX和A(T)X的区别是?

目录 1.快速了解的例子: (1)假设所有节点的初始特征都是[1, 0, 0] ,那么AX的结果是: (2) 的结果是: (3) 总结: 2.计算结构系数的例子 (1&#xff09…

Spring IoC和DI

目录 一. Spring是什么 IoC DI 二. IoC&DI的使用 IoC 1.Controller(控制器存储) 2.Service(服务存储) 3.Repository(仓库存储) 4.Componemt(组件存储) 5.Configuratio…

【网络安全】网络设备可能面临哪些攻击?

网络设备通常是网络基础设施的核心,并控制着整个网络的通信和安全,同样面临着各种各样的攻击威胁。 对网络设备的攻击一旦成功,并进行暴力破坏,将会导致网络服务不可用,且可以对网络流量进行控制,利用被攻陷…

找不到WMVCORE.dll怎么办?一键解决WMVCORE.dll缺失的详细方法分享

当打开软件时提示wmvcore.dll丢失,这可能是由于以下几个原因导致的: 系统文件损坏:wmvcore.dll是系统文件,可能会因为各种原因(如病毒感染、系统错误、软件卸载等)而损坏。 软件依赖问题:某些…

Nginx性能调优实战 1

Nginx性能调优实战指南 1 Nginx作为一款高性能的Web服务器和反向代理服务器,在处理大量请求和并发连接时表现出色。然而,在实际应用中,为了更好地适应不同的负载和提高系统性能,进行Nginx性能调优是至关重要的。深入探讨Nginx性能…

mysql数据库文件丢失恢复---惜分飞

客户服务器重启,mysql相关数据文件丢失 通过底层工具进行分析,无法正确恢复数据库名字,一个个单个ibd文件(而且很多本身是错误的) 对于这种情况,通过mysql block扫描恢复出来page文件 恢复出来客户需要数据 这个客户出现该故障的原因大概率是由于文件系统损坏导致.最终…

SSD基础架构与NAND IO并发问题探讨

在我们的日常生活中,我们经常会遇到一些“快如闪电”的事物:比如那场突如其来的雨、那个突然出现在你眼前的前任、还有就是今天我们要聊的——固态硬盘(SSD)。 如果你是一个技术宅,或者对速度有着近乎偏执的追求&…

程序的机器代码表示--函数调用

call和ret指令 如何访问栈帧、如何切换栈帧、如何传递参数和返回值 call、ret指令作用: call:1)将IP(即PC)旧值压栈保存(保存在函数的栈帧顶部);2)设置IP新值&#xff0…

Module build failed : Error : Vue packages version mismatch:

Vue packages version mismatch: - vue2.7.15 (E:\Workspace_ce\erp\erp-web\node_modules\vue\dist\vue.runtime.common.js) - vue-template-compiler2.6.11 (E:\Workspace_ce\erp\erp-web\node_modules\vue-template-compiler\package.json) 【问题解决了,我很不…

MyBatis 四大核心组件之 ParameterHandler 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

55.手写实现grpc连接池以及gin和grpc交互

文章目录 一、简介前置说明 二、敏感词过滤服务1、定义sensitive.proto文件2、protoc生成pb.go文件3、sensitive服务端实现 三、关键词匹配服务1、编写keywords.proto文件2、生成pb.go文件3、keywords服务端实现 四、gin web 路由服务1、新建grpcpool服务作为gin web服务2、根据…

.net core提示The xx field is required,One or more validation errors occurred

访问接口时缺少model中的参数时,会提示: The xx field is required One or more validation errors occurred原因是.net core webapi默认参数为不可空,因此会验证并报错。 解决方案: 在项目的.csproj中,修改Nullable…

2023团体程序设计天梯赛——模拟赛和总决赛题

M-L1-1 嫑废话上代码 Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑废话,上代码)。本题就请你直接在屏幕上输出这句话。 输入格式: 本题没有输入。 输出格式: 在一行中输出…

华为新款笔记本搭载5nm麒麟芯片,来源成谜,可能让大家失望了~

近日,华为公司悄悄推出了一款基于国产技术打造的全新商用笔记本——华为擎云L540。目前,华为擎云L540在京东平台悄然上线的,尚未在华为官方渠道公开售卖。华为擎云L540搭载了麒麟9006C处理器,采用先进的5nm制程工艺,8 …

大数据HCIE成神之路之数据预处理(1)——缺失值处理

缺失值处理 1.1 删除1.1.1 实验任务1.1.1.1 实验背景1.1.1.2 实验目标1.1.1.3 实验数据解析 1.1.2 实验思路1.1.3 实验操作步骤1.1.4 结果验证 1.2 填充1.2.1 实验任务1.2.1.1 实验背景1.2.1.2 实验目标1.2.1.3 实验数据解析 1.2.2 实验思路1.2.3 实验操作步骤1.2.4 结果验证 1…

JAVA高级(后端需深入移步)

单元测试:使用Junit单元测试框架 使用Junit单元测试: 通过左侧的对❌来进行提示 Junit框架的常见注解: 反射(用于框架,也是最重要):展示框架的成员信息 由于是用于对象,即使在获取…

PHP基础 - 类型比较

在 PHP 中,作为一种弱类型语言,它提供了松散比较和严格比较两种方式来比较变量的值和类型。 松散比较: 使用两个等号(==)进行比较,只会比较变量的值,而不会考虑它们的数据类型。例如: $a = 5; // 整数 $b = 5; // 字符串if ($a == $b) {echo "相等"; // 输…

Go性能分析工具

前言 作为后端研发,性能分析是我们在研发过程中必然会会遇到的环节,接口耗时、堆栈溢出、内存泄露等等。所谓工欲善其事必先利其器,之前在java中我们是使用arthas这一大神器,不得不说确实好用,想了解arthas的可以看下…

Zookeeper单机模式搭建

1、下载 ​wget https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 2、解压 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz 3、进入 apache-zookeeper-3.6.3-bin目录下,创建data cd apache-zookeeper-3.6.3-bin mkdir da…

面试官:性能测试瓶颈调优你是真的会吗?

引言:性能瓶颈调优 在实际的性能测试中,会遇到各种各样的问题,比如 TPS 压不上去等,导致这种现象的原因有很多,测试人员应配合开发人员进行分析,尽快找出瓶颈所在。 理想的性能测试指标结果可能不是很高&…