JavaScript进阶之构造函数数据常用函数

目录

    • 一、深入对象
      • 1.1 创建对象的三种方式
      • 1.2 构造函数
      • 1.3 实例成员&静态成员
    • 二、内置构造函数
      • 2.1 Object
      • 2.2 Array
      • 2.3 String常见实例方法
      • 2.4 Number

一、深入对象

1.1 创建对象的三种方式

  1. 利用对象字面量创建对象
  2. 利用new object创建对象
    const obj = new Object({})
  3. 利用构造函数创建对象

1.2 构造函数

  • 通过构造函数快速创建多个类似的对象
    约定:① 命名以大写字母开头 ② 使用构造函数必须加new
    语法eg:
    function Pig(name,age) {this.name = name;this.age = age
    }
    const pepa = new Pig('佩奇', 6)
    
    【说明】:
    1. 使用new关键字调用函数的行为称为实例化
    2. 实例化构造函数时没有参数可以省略()
    3. 构造函数内部无需写return,返回值即为新创建的对象
    4. new Object() 和 new Date()也是实例化构造函数
  • 实例化执行过程
    ① 创建新的空对象 ② 构造函数this指向新对象 ③ 执行构造函数代码,修改this,添加新属性 ④ 返回新对象

1.3 实例成员&静态成员

  1. 实例对象:通过构造函数创建的对象
    实例成员:实例对象中的属性和方法(实例属性和实例方法)
    【说明】:① 为构造函数传入参数,创建结构相同但值不同的对象 ② 构造函数创建的实例对象彼此独立互不影响
  2. 静态成员:构造函数的属性和方法称为静态成员(静态属性和静态方法)
    【说明】:① 静态成员只能构造函数访问 ② 静态方法中的this指向构造函数
    eg:Date.now()``````Math.PI``````Math.random()

二、内置构造函数

字符串、数值、布尔等基本类型也有专门的构造函数,称为包装类,js中几乎所有数据都可以基于构造函数创建
引用类型:Object、Array、RegExp、Date等
包装类型:String、Number、Boolean等

2.1 Object

  1. 获得所有的属性名,返回数组
    Object.keys(变量名)
  2. 获得所有的属性值,返回数组
    Object.values(变量名)
  3. 对象的拷贝
    Object.assign(变量名,需要拷贝的对象)

2.2 Array

  • 数组常见实例方法-核心方法

    1. forEach方法
      遍历数组无返回值,适合遍历数组对象
      语法:

      数组名.forEach(function (数组元素,元素索引) {})
      
    2. map方法
      迭代数组,并且返回新的数组
      map也叫映射,有返回值,forEach没有
      语法:

      数组名.map(function (数组元素,元素索引) {})
      
    3. filter方法
      过滤数组,并返回筛选之后元素的新数组不改变原数组,只能写比较运算符
      语法: currentValue必须写,index可选

      数组名.filter(function (currentValue, index) {return 筛选条件
      })
      

      eg:在这里插入图片描述

    4. reduce方法
      累计器,返回累计处理的结果,经常用于求和
      语法:

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

      参数:有起始值,就把起始值加到里面
      reduce执行过程:在这里插入图片描述

      eg:在这里插入图片描述

  • 数组常见实例方法-其他方法
    在这里插入图片描述

    在这里插入图片描述

    1. find方法
      查找元素,返回符合条件的第一个数组元素值,如果没有就返回undefined
      语法:arr.find(回调函数[, thisArg])
      参数说明:
      回调函数:有三个参数:① element:当前遍历到的元素(必写) ② index:当前遍历到的索引(可选) ③ 数组本身(可选)
      thisArg:执行回调时用作this的对象
      eg:
    arr.find(function (item) {return item.name === '小米'
    })
    
    1. every方法
      筛选数组返回布尔值,测试一个数组内所有元素是否都能通过某个指定函数的测试
      若都符合条件,返回true,否则返回false,若收到一个空数组,此方法在一切情况下都会返回true
  • 数组常见静态方法-from方法
    把伪数组转换为真数组返回转换后的真数组
    语法:arr.from(需要转换的伪数组)

2.3 String常见实例方法

在这里插入图片描述

  1. split()方法
    字符串转换为数组返回转换后的数组,和join()相反
    语法:str.split('分隔符')
    eg:
    const str = "red,pink"
    const arr = str.split(',')
    
  2. substring()方法
    截取字符串返回截取到的字符串
    语法:arr.substring(indexstart[, indexend])
    参数:indexstart表示需要截取的部分的第一个元素的索引号,indexend表示要截取到的最后一个元素的后一个元素的索引号,(即左闭右开)如果省略了indexend,默认截取到最后
  3. startsWith()方法
    检测字符串判断字符串是否以给定的字符串开头
    语法:arr.startsWith(searchString[, position])
    参数:searchString表示要检测的字符串,position表示开始搜索的位置,默认为0
  4. includes()方法
    搜索字符串判断一个字符串是否包含在另一个字符串中返回一个布尔值
    语法:arr.includes(searchString[, position])

2.4 Number

  1. toFixed()方法
    对数字指定保留小数位数,整数也可以
    语法:num.toFixed(指定保留的小数位数)
  2. toString()方法
    数字型转换为字符串

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

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

相关文章

Java | Leetcode Java题解之第268题丢失的数字

题目&#xff1a; 题解&#xff1a; class Solution {public int missingNumber(int[] nums) {int n nums.length;int total n * (n 1) / 2;int arrSum 0;for (int i 0; i < n; i) {arrSum nums[i];}return total - arrSum;} }

学习系列一:YOLO系列目标检测框架之间介绍及对比

YOLO系列目标检测框架之间介绍及对比 华为HCIP AI高级工程师证书&#xff0c; 华为HCIA AI证书&#xff0c;目前从事视觉算法工作 文章目录 YOLO系列目标检测框架之间介绍及对比前言一、YOLOv1二、YOLOv2三、YOLOv3四、YOLOv4五、YOLOv5及后续算法 前言 YOLO系列算法 YOLO 创…

树与二叉树学习笔记

树与二叉树 计算机中的树树的概念树的类型 什么是二叉树二叉树&#xff1a;定义与特点二叉树&#xff1a;前序、中序、后序遍历二叉树&#xff1a;深度、广度优先遍历二叉树&#xff1a;线索化二叉树&#xff1a;序列化与反序列化 haffman树平均编码长度构建haffman树haffman树…

数学建模算法汇总(全网最全,含matlab案例代码)

数学建模常用的算法分类 全国大学生数学建模竞赛中&#xff0c;常见的算法模型有以下30种&#xff1a; 最小二乘法数值分析方法图论算法线性规划整数规划动态规划贪心算法分支定界法蒙特卡洛方法随机游走算法遗传算法粒子群算法神经网络算法人工智能算法模糊数学时间序列分析马…

大模型应用—大模型赋能网络爬虫

大模型赋能网络爬虫 简单来说,网页抓取就是从网站抓取数据和内容,然后将这些数据保存为XML、Excel或SQL格式。除了用于生成潜在客户、监控竞争对手和市场研究外,网页抓取工具还可以用于自动化你的数据收集过程。 借助AI网页抓取工具,可以解决手动或纯基于代码的抓取工具的…

shell脚本语言的入门

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…

腾讯技术创作特训营 -- SUPERWINNIE -- AI重塑社交内容

目录 1 什么是AI社交内容 2 案例拆解 3 用LLM做爆文选题 4 用LLM出爆文脚本提示词 1 什么是AI社交内容 任何一个因素被AI取代都是AI社交内容 2 案例拆解 数字人 资讯素材 录屏产品的素材&#xff08;小红书测试AI产品&#xff09; 脚本 素材 剪辑 3 用LLM做爆文选题 &…

帝国神话怎么样使用服务器开服(Myth Of Empires)

1、购买后登录服务器&#xff08;百度莱卡云&#xff09; 进入控制面板后会出现正在安装的界面&#xff0c;安装大约5分钟&#xff08;如长时间处于安装中请联系我们的客服人员&#xff09; 2、创建端口 一共需要用到三个端口&#xff08;游戏端口&#xff0c;查询端口&#x…

【刷题汇总 -- 压缩字符串(一)、chika和蜜柑、 01背包】

C日常刷题积累 今日刷题汇总 - day0181、压缩字符串(一)1.1、题目1.2、思路1.3、程序实现 2、chika和蜜柑2.1、题目2.2、思路2.3、程序实现 3、 01背包3.1、题目3.2、思路3.3、程序实现 -- dp 4、题目链接 今日刷题汇总 - day018 1、压缩字符串(一) 1.1、题目 1.2、思路 读完…

vue3 vue页面根目录增加注释 keep-alive 不生效 需避开此位置

已参考官方文档如下&#xff0c;进行配置 Built-in Components | Vue.js 对应页面中配置 name defineOptions({name: "Users",inheritAttrs: false, }); 从Vue Devtools可以看到组件名字变成了Users&#xff0c;如下&#xff1a; 已配置一致后&#xff0c;仍不生…

【Linux】进程信号 --- 信号保存

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

【医学影像】RK3588+FPGA:满足远程诊疗系统8K音视频编解码及高效传输需求

医学影像 提供基于Intel平台、NXP平台、Rockchip平台的核心板、Mini-ITX主板、PICO-ITX主板以及工业整机等计算机硬件。产品板载内存&#xff0c;集成超高清编码/解码视频引擎&#xff0c;具有出色的数据处理能力和图形处理能力&#xff0c;功能高集成&#xff0c;可应用于超声…

【教学类-69-01】20240721铠甲勇士扑克牌涂色(男孩篇)

背景需求&#xff1a; 【教学类-68-01】20240720裙子涂色&#xff08;女孩篇&#xff09;-CSDN博客文章浏览阅读250次。【教学类-68-01】20240720裙子涂色&#xff08;女孩篇&#xff09;https://blog.csdn.net/reasonsummer/article/details/140578153 前期制作了女孩涂色延…

直播带货|主播、运营怎么考核 怎么分钱

在直播公司中&#xff0c;有两个非常重要的岗位&#xff1a;直播运营和主播。那么&#xff0c;直播公司应该如何正确发放工资呢&#xff1f;许多公司为这两个岗位的工资发放采取的是销售额提成的方式。 销售额提成存在一个问题&#xff1a;直播公司很容易通过广告费来刺激销售额…

MT6825磁编码IC在智能食品包装设备的应用

艾毕胜马达控制平台专家 MT6825磁编码IC&#xff0c;作为一款先进的传感器解决方案&#xff0c;在智能食品包装设备中的应用正日益广泛 MT6825磁编码IC&#xff0c;作为一款先进的传感器解决方案&#xff0c;在智能食品包装设备中的应用正日益广泛。它凭借卓越的性能和可靠性…

Windows及Linux系统加固

君衍. 一、Windows加固1、配置简介2、账户配置3、本地配置4、安全设置 二、Linux加固1、配置简介2、网络配置3、日志和审计配置4、访问认证和授权配置5、系统运维配置 一、Windows加固 1、配置简介 通常在Windows安全配置中有两类对象 一类是Windows Server&#xff0c;如win …

功能测试与APPSCAN自动化测试结合的提高效率测试策略

背景 手工探索性测试&#xff08;Manual Exploratory Testing&#xff0c;简称MET&#xff09;是一种软件测试方法&#xff0c;它依赖于测试人员的直觉、经验和即兴发挥来探索应用程序或系统。与传统的脚本化测试相比&#xff0c;手工探索性测试不遵循固定的测试脚本&#xff0…

敲详细的springboot中使用RabbitMQ的源码解析

这里介绍的源码主要是涉及springboot框架下的rabbitmq客户端代码&#xff08;具体在springframework.amqp.rabbit包下&#xff0c;区分一下不由springboot直接接管的spring-rabbit的内容&#xff09;&#xff0c;springboot基于RabbitMQ的Java客户端建立了简便易用的框架。 sp…

重生之我在学数据结构——队列

一.队列的概念 队列是一种先进先出(First In First Out &#xff0c;FIFO)的数据结构&#xff0c;可以简单理解为排队的概念。在队列中&#xff0c;数据项按照插入的顺序排列&#xff0c;并且只能在队列的一端插入&#xff08;称为队尾&#xff09;&#xff0c;在另一端删除&a…

品牌策划新手指南:如何让你的品牌脱颖而出?

品牌策划&#xff0c;简单来说&#xff0c;就是为品牌制定一套全方位的成长和发展计划&#xff0c;就像给品牌设计一条成长路线图&#xff0c;让它能够更好地吸引顾客、建立信任、提升知名度&#xff0c;最终实现销售和市场份额的增长。 品牌策划是什么&#xff1f; 想象一下…