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

目录

一:Object构造函数

1 创建对象说明

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

Object.keys()

Object.values()

Object.assign()

二:Array构造函数

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

2 详解reduce实例方法

语法规则:

运行细节:

案例:

3 map()方法

作用:

语法格式:

4 filter()方法

语法格式:

三:String构造函数

1 String对象重点实例方法、属性

length属性

split()方法

substring()方法

startsWith()

四:Number构造函数

toFixed()方法

一: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: ƒ}

二: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)

3 map()方法

作用:

遍历数组,并且将数组中的元素经函数处理后返回一个新数组

语法格式:
arr.map(function(element,index){
return
})

4 filter()方法

语法格式:
 

arr.filter(function(element,index){//element为数组元素,index为数组元素在数组中索引值return 筛选数组的条件
})

三:String构造函数

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

1 String对象重点实例方法、属性

length属性

可以通过str.length获取字符串的长度

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)

position为字符串开始判断的位置,默认是从0开始

const str1 = 'Saturday night plans';console.log(str1.startsWith('Sat'));
// Expected output: trueconsole.log(str1.startsWith('Sat', 2));
// Expected output: false

四:Number构造函数

用于创建数字

toFixed()方法

用于规定数字后有几位小数

    const num = 10console.log(num.toFixed(2));//10.00

本文章仅仅列出这四类构造函数的常用属性和方法,具体的学习还应查询MDN文档

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

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

相关文章

【C++高阶】高效搜索的秘密:深入解析搜索二叉树

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C多态 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀二叉搜索树 &#x1f4d2;1. 二叉搜索树&…

一键解压,无限可能——BetterZip,您的Mac必备神器!

BetterZip for Mac 是一款高效、智能且安全的解压缩软件&#xff0c;专为Mac用户设计。它提供了直观易用的界面&#xff0c;使用户能够轻松应对各种压缩和解压缩需求。 这款软件不仅支持多种压缩格式&#xff0c;如ZIP、RAR、7Z等&#xff0c;还具备快速解压和压缩文件的能力。…

qt 5.6 qmake手册

qt 5.6 qmake手册 &#xff08;笔者翻译的qmake手册&#xff0c;多数是机翻&#xff0c;欢迎评论区纠错修正&#xff09; Qmake工具有助于简化跨不同平台开发项目的构建过程。它自动生成Makefile&#xff0c;因此创建每个Makefile只需要几行信息。您可以将qmake用于任何软件项目…

32.双击列表启动目标游戏

上一个内容&#xff1a;31.加载配置文件中的游戏到辅助列表 以 31.加载配置文件中的游戏到辅助列表 它的代码为基础进行修改 效果图&#xff1a; 添加列表双击事件 实现代码&#xff1a; LPNMITEMACTIVATE pNMItemActivate reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR…

考研数学强化,880+660正确打开方式

1800题基础做完了&#xff1f;做的怎么样&#xff01; 之所以问你做的怎么样&#xff0c;是因为1800题做的好坏&#xff0c;直接决定了你要不要开始做880题和660题。 有的同学1800题做的很好&#xff0c;做完1800题之后开始做880660没毛病 但是有的同学就是纯纯的为了做题而…

python使用哪种数据库

MySQL 是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&#xff0c;关…

阿里云SSL免费证书部署(nginx)

1.先在阿里云领取免费证书 创建证书 下载证书 得到nginx证书和密钥的压缩包 2.配置nginx 将两个文件放进nginx的opt目录下 先检查有没有ngx_http_ssl_module模块 ngixn -V 如果有进入下一步&#xff0c;没有继续 1.找到你nginx的文件 2.进入添加模块 ./configure --with-h…

git的Cherry pick

Cherry pick Git Cherry Pick详解 https://blog.csdn.net/jam_yin/article/details/131594716 目标: 将开发分支A中提交的部分内容合并到B分支(可能是测试分支) 步骤: vscode安装 点击下图标进入graph

最新版本IntelliJ IDEA安装与“坤活”使用

最新版本IntelliJ IDEA安装与“科学”使用 IntelliJ IDEA安装与坤活下载安装坤活idea1.将下面两个压缩文件解压到安装位置&#xff0c;注意路径不要包含中文空格等特殊符号2.双击 install-all-users.vbs &#xff0c;然后点击确定&#xff0c;等到出现 Done的弹窗3. 打开idea复…

远程桌面另一台服务器连接不上,局域网IP如何访问另一台服务器

在IT运维工作中&#xff0c;远程桌面连接是日常工作中不可或缺的一部分。然而&#xff0c;当尝试远程桌面连接至另一台服务器时&#xff0c;如果连接不上&#xff0c;可能会引发一系列问题&#xff0c;影响到工作效率和信息安全。特别是在局域网环境中&#xff0c;确保能够正确…

AI口语练习APP的技术难点

AI口语练习APP旨在帮助用户练习口语&#xff0c;因此其核心功能是语音识别和语音评测。以下是一些AI口语练习APP的主要技术难点。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 语音识别 语音识别是将语音信号转换为文本的过程。…

【golang学习之旅】使用VScode安装配置Go开发环境

1. 下载并安装Go1.1 下载地址1.2 选择版本并下载1.3 安装目录1.4 验证是否安装成功 2. 配置环境变量2.1 配置步骤2.2 GO部分环境变量说明 3. 下载或更新 Vscode3.1 下载地址3.2 安装步骤 4. 为Go开发配置VScode 1. 下载并安装Go 1.1 下载地址 https://studygolang.com/dl 1.…

ChinaTravel成流量密码,景区如何打造视频监控管理平台提升旅游体验

随着中国经济的飞速发展和人民生活水平的持续提高&#xff0c;旅游已经成为越来越多人休闲放松的首选方式。近期&#xff0c;随着互联网的普及和社交媒体的兴起&#xff0c;以及免签政策带火入境游&#xff0c;“ChinaTravel”已成为社交网络上的一大流量密码&#xff0c;吸引了…

送检了200多款主食冻干,花费百万后,我测评了VE、希喂、朗诺!

主食冻干真是养猫的好帮手&#xff0c;方便、易喂&#xff0c;还能为猫咪提供全面营养&#xff01;它模拟了猫咪的自然捕猎饮食&#xff0c;采用低温脱水和灭菌技术制成。这样的主食冻干不仅让铲屎官们的喂养变得轻松&#xff0c;还满足了猫咪的味蕾和营养需求。更重要的是&…

跟《经济学人》学英文:2024年6月15日这期 Chinese electric vehicles (EVs)

The EU hits China’s carmakers with hefty new tariffs Duties will only hold them back for a while 欧盟对中国汽车制造商征收高额新关税 hit: 对xxx施加 在句子"The EU hits China’s carmakers with hefty new tariffs"中&#xff0c;“hits”的意思是“对…

Fastjson 结合 jdk 原生反序列化的利用手法 ( Aliyun CTF )

2023 Aliyun CTF ezbean是一道CTF java反序列化题目。 题目的目的是让选手通过一个java原生反序列化入口&#xff0c;最终达成RCE。本文对题目的几种解法做了具体的分析&#xff0c;主要分为预期解法和非预期解法两种思路。通过对Fastjson在反序列化的行为分析&#xff0c;从两…

华为---OSPF单区域配置(一)

09、OSPF 9.1 OSPF单区域配置 9.1.1 原理概述 为了弥补距离矢量路由协议的不足&#xff0c;IETF组织开发了一种基于链路状态的内部网关协议——OSPF&#xff08;Open Shortest Path First&#xff0c;开放式最短路径优先&#xff09;。 OSPF作为基于链路状态的协议&#xf…

【网络安全学习】漏洞扫描:- 02- nmap漏洞扫描

1.nmap的介绍 Nmap是一款功能强大的网络探测和安全扫描工具&#xff0c;可以对目标进行端口扫描、服务探测、操作系统指纹识别等操作。 Nmap自带了许多内置的NSE脚本&#xff0c;它们可以根据不同的目标和场景来执行不同的功能。这些脚本存放在Nmap安装目录**/usr/share/nmap…

Fastjson 反序列化漏洞(CVE-2017-18349)

目录 Fastjon介绍 序列化与反序列化 漏洞产生的原因 漏洞点测试 使用dnslog探测 反弹shell 这一篇是学习JAVA里面的fastjson 反序列化漏洞&#xff0c;这里还是参考别的师傅总结的文章进行学习 Fastjon介绍 Fastjson 是一个 Java 库&#xff0c;可以将 Java 对象转换为 …

美业人专用宝藏系统、Java收银系统源码分享-美业SAAS系统的应用价值分析

美业SAAS系统&#xff08;Software as a Service&#xff09;在美容、美发、美甲等行业中具有重要的应用价值。这种系统为美业提供了一种数字化解决方案&#xff0c;帮助企业更高效地管理业务和客户关系。 以下是博弈美业SAAS系统的应用价值分析&#xff1a; 1.经营管理&#…