【JS重点14】内置构造函数

news2025/3/1 9:17:37

一:Object构造函数

1 创建对象说明

Object是内置的构造函数,用于创建普通对象。

//通过构造函数方式创建普通对象
const user = new Object({name:'佩奇',age:18})

相较于,利用字面量声明对象利用构造函数方式麻烦,因此推荐利用字面量方式声明对象

2 关于Object的三个常用静态方法

Object.keys()

获取对象中的属性名以及方法名,并以数组方式返回

Object.values()

获取对象中的属性值、以及方法,并以数组方式返回

    const user = {
      name: '佩奇',
      age: 6,
      sayHi: function () {
        console.log('hi');
      }
    }
    const arr = Object.keys(user)
    console.log(arr);//['name', 'age', 'sayHi']
    const arr1 = Object.values(user)
    console.log(arr1);['佩奇', 6, ƒ]

Object.assign()

常用于对象拷贝,其使用场景常用于给对象添加属性

 console.log(Object.assign(user, { hight: '190' }));
//{name: '佩奇', age: 6, hight: '190', sayHi: ƒ}age: 6hight: "190"name: "佩奇"sayHi: ƒ ()[[Prototype]]: Object

二:Array构造函数

Array是内置的构造函数,用于创建对象

//利用构造函数方式创建数组,数组本质上又为对象
const arr = new Array(3,5)
//但创建数组建议使用字面量创建,不用Array构造函数创建
即:
const arr =[3,5]

其实学到这里,就很容易理解为什么引用类型只有对象这一种,却没有数组。因为数组也是一种对象,通过Array构造函数创建一个“空数组对象”,我们只不过常叫“数组对象”为“数组”。

1 数组对象的常见实例方法

2 详解reduce实例方法

reduce常用于数组进行求和运算

   <script>
    const arr = [1, 2, 3, 4]
    const newA = arr.reduce(function (prev, next) {
      return prev + next
    }, 10)
    console.log(newA);
  </script>

语法规则:

arr.reduce(function(上一次值,当前值){...},起始值)

运行细节:

  1. 如果没有“起始值”,则“数组的第一个数组元素”的值为“上一次值”
  2. 每一次循环,把返回值当作下一次循环的“上一次值”
  3. 如果有起始值,则起始值做为上一次值

案例:

需求:根据数据计算当月支出总薪资

  <script>
    const arr = [{
      name: '张三',
      salary: 10000
    }, {
      name: '李四',
      salary: 10000
    }, {
      name: '王五',
      salary: 20000
    },
    ]
    const total = arr.reduce((prev, next) => {
      return prev + next.salary
    }, 0)
    console.log(total);
  </script>

更多数组方法,使用时查找MDN文档:Array - JavaScript | MDN (mozilla.org)

三:String构造函数

String() 构造函数创建 String 对象。当作为函数调用时,它返回 String 类型的原始值。

1 String对象重点方法

split()方法

语法格式:str.split('分隔符')

作用:利用特定的分隔符,将字符串拆分成数组

const str = 'red,yellow'
    const nS = str.split(',')
    console.log(nS);//[red,yellow]

与数组中join()方法作用相反,是将数组转换为字符串

substring()方法

作用:

String 的 substring() 方法返回该字符串从起始索引到结束索引(不包括)的部分,如果未提供结束索引,则返回到字符串末尾的部分。

const str = 'Mozilla';

console.log(str.substring(1, 3));[,)
// Expected output: "oz"

console.log(str.substring(2));
// Expected output: "zilla"

语法格式:substring(indexStrat,indexEnd)

startsWith()

 作用:

String 的 startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false

语法:

str.startsWith(searchString,position)

const str1 = 'Saturday night plans';

console.log(str1.startsWith('Sat'));
// Expected output: true

console.log(str1.startsWith('Sat', 2
                           ));
// Expected output: false

四:Number构造函数

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

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

相关文章

OpenCV单词轮廓检测

OpenCV单词轮廓检测 0. 前言1. 策略分析2. 检测字符轮廓3. 检测单词轮廓相关链接 0. 前言 在根据文档图像执行单词转录时&#xff0c;通常第一步是识别图像中单词的位置。我们可以使用两种不同的方法识别图像中的单词&#xff1a; 使用 CRAFT、EAST 等深度学习技术使用基于 O…

【算法-力扣】72. 编辑距离(动态规划)

目录 一、题目描述 二、解题思路 三、参考答案 一、题目描述 编辑距离 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符 删除一个字符 替换一个字符 示例 1&#…

win11电脑桌面倒计时提醒怎么设置?

在日常工作中&#xff0c;我们经常需要处理大量的工作任务&#xff0c;而且很多任务都有时间限制。如果将这些任务记录在桌面上&#xff0c;并设置倒计时提醒&#xff0c;无疑会大大提高我们的工作效率。想象一下&#xff0c;在繁忙的工作间隙&#xff0c;你只需一瞥桌面&#…

618火爆来袭,退换货花费多咋办?

姐妹们&#xff0c;一年一度的618就要来了&#xff0c;你准备好了吗&#xff0c;虽然咱们的钱包鼓鼓的&#xff0c;但是咱们的购物袋也要鼓鼓的呀&#xff0c;我们就是要多买&#xff0c;多买&#xff0c;多买&#xff0c;这样才能更显示出自己更爱自己了。 言归正传&#xff…

2024.6.14 刷题总结

2024.6.14 **每日一题** 2786.访问数组中的位置使分数最大&#xff0c;看到这题就想到动态规划的思路&#xff0c;遍历数组&#xff0c;每次选择移动该元素时能获得到的最大值&#xff0c;分别考虑最后一个的元素为奇数/偶数的最大值&#xff0c;用长度为2的数组来储存这两个值…

JUnit 5学习笔记

JUnit 5 学习笔记 1.JUnit5的改变2.JUnit5常用注解及测试2.1 DisplayName/Disabled/BeforeEach/AfterEach/BeforeAll/AfterAll2.2 Timeout2.3 RepeatedTest 3.断言3.1 简单断言3.2 数组断言3.3 组合断言3.4 异常断言3.5 超时断言3.6 快速失败 4.前置条件5.嵌套测试6.参数化测试…

微信群发机器人.使用指南.

0.简介 1.介绍 微信群发机器人是用来群发微信消息的工具,通过控制电脑的键盘和鼠标操作微信app来实现群发.支持的消息类型有:文字,图片,视频,文件,小程序,位置等. 群发机器人也可以将微信联系人中的信息保存到电脑csv表格中,以供分析. 因其是通过模拟用户操作鼠标键盘来实现群…

Java课程设计:基于swing的贪吃蛇小游戏

文章目录 一、项目介绍二、核心代码三、项目展示四、源码获取 一、项目介绍 贪吃蛇是一款经典的休闲益智游戏,自问世以来便深受广大用户的喜爱。这个游戏的基本玩法是控制一条不断增长的蛇,目标是吃掉屏幕上出现的食物,同时避免撞到边缘或自身。随着游戏的进行,蛇的身体会越长…

智慧工厂人员定位系统的影响与前景展望

随着科技的不断发展&#xff0c;智能制造正在迅速崛起&#xff0c;而智慧工厂人员定位系统作为其中的重要组成部分&#xff0c;正在改变传统制造业的面貌。这一系统通过利用物联网、室内定位等技术手段&#xff0c;能够实时准确地追踪和监控工厂内人员的位置。那么&#xff0c;…

Hexapod C-887使用手册 -- 3

3--产品描述 本章中 型号概要 产品视图 交换范围 可选的附件 可命令元素 固件的重要组件 ID芯片探测 轴A和B的操作参数 Hexapod的运动 通过EtherCAT接口发送命令 通信接口 PC软件的概要 3.1 型号概要 C-887 hexapod控制器可以获取以下版本&#xff1a; 型号 描述…

【软件安装9】OpenCV多版本安装Ubuntu18.04

文章目录 一、查看已安装的Opencv版本二、安装新版本三、多版本OpenCV切换 OpenCV 官网 在此 一、查看已安装的Opencv版本 查看已安装opencv的版本 pkg-config opencv --modversion官网下载对应的版本&#xff0c;并解压 opencv3.4.3 二、安装新版本 进入前置准备里下载…

Linux驱动开发笔记(八)输入子系统

文章目录 前言一、输入子系统1. 子系统的引入2. 组成部分3. 事件处理流程4. 相关数据结构 二、程序编写1. 相关API函数1.1 input_allocate_device ( )1.2 input_free_device ( )1.3 input_register_device ( )1.4 input_unregister_device ( )1.5 input_event ( )1.6 input_rep…

ModbusRTU协议之3.5T

RTU 模式每个字节 ( 11 位 ) 的格式为 : 1 起始位&#xff0c; 8 数据位&#xff0c; 1 校验位&#xff08;也可以无校验&#xff09;&#xff0c; 1 停止位&#xff0c; 校验位使用偶校验、奇校验、无校验都可以&#xff0c;但 使用无校验时必须配置 2 个停止位。 所以无…

阿里云的视频超分辨率服务将视频从25M视频增强至469M,画质提升了不少

效果还是不错的&#xff1a; tom&#xff1a; 阿里云文档&#xff1a; 视频超分辨率SuperResolveVideo的语法及示例_视觉智能开放平台(VIAPI)-阿里云帮助中心 请求参数&#xff1a; 还比较简单&#xff0c;就三个参数&#xff0c;其中一个还是固定的&#xff0c;我本次的BitRat…

【SQLAlChemy】表之间的关系,外键如何使用?

表之间的关系 数据库表之间的关系分为三种&#xff1a; 一对一关系&#xff08;One-to-One&#xff09;&#xff1a;在这种关系中&#xff0c;表A的每一行都与表B的一行关联&#xff0c;反之亦然。例如&#xff0c;每个人都有一个唯一的社保号&#xff0c;每个社保号也只属于…

深度学习(六)——神经网络的基本骨架:nn.Module的使用

一、torch.nn简介 官网地址&#xff1a; torch.nn — PyTorch 2.0 documentation 1. torch.nn中的函数简介 Containers&#xff1a;神经网络的骨架 Convolution Layers&#xff1a;卷积层 Pooling layers&#xff1a;池化层 Padding Layers&#xff1a;Padding Non-linear …

android 播放视频

播放视频文件 新建一个activity_main.xml文件&#xff0c;文件中放置了3个按钮&#xff0c;分别用于控制视频的播放、暂停和重新播放。另外在按钮的下面又放置了一个VideoView&#xff0c;稍后的视频就将在这里显示。 <LinearLayout xmlns:android"http://schemas.an…

Android Studio新增功能:Device Streaming

今天将Android Studio升级到2023.3.1 Patch2。发现新增了Device Streaming功能。支持远程使用Google的物理设备调试程序。这样可以方便地在真实设备上测试自己的APP。这对于手头没有Google设备的开发者而言&#xff0c;确实方便很多。该功能目前处于测试阶段&#xff0c;在2025…

【机器学习300问】117、序列模型中的符号表示方法?以命名实体识别(NER)任务为例。

在序列模型中&#xff0c;特别是在命名实体识别(NER)任务中&#xff0c;我们通常会用一系列符号来表示输入序列、目标标签以及模型的结构和操作。本文列出一些常见的符号表示方法&#xff0c;结合NER任务进行解释。 一、什么是命名实体识别任务&#xff1f; &#xff08;1&am…

06 SpringBoot 配置文件详解-application.yaml

Spring Boot 提供了大量的自动配置&#xff0c;极大地简化了spring 应用的开发过程&#xff0c;当用户创建了一个 Spring Boot 项目后&#xff0c;即使不进行任何配置&#xff0c;该项目也能顺利的运行起来。当然&#xff0c;用户也可以根据自身的需要使用配置文件修改 Spring …