当前位置: 首页 > article >正文

前端(JS进阶)学习笔记(CLASS 2):构造函数数据常用函数

1、深入对象

1、创建对象的三种方式

利用对象字面量创建对象(常用的方式)

利用new Object创建对象

        const o=new Object({name:'l'})
        console.log(o)

利用构造函数创建对象

2、构造函数

构造函数:是一种特殊的函数,主要用来初始化对象

使用场景:常规的{...}语法允许创建一个对象。比如我们创建了佩奇的对象,继续创建乔治的对象还需要重新写一遍,此时可以通过构造函数来快速创建多个类似的对象

即将多个对象中相同的属性抽取出来,封装到一个函数中

例如:

        function Person(name,sex,age) {
            this.name=name
            this.age=age
            this.sex=sex
        }

        const baby1=new Person('x','female',1)

注意:构造函数在技术上是常规函数

不过有两个约定:

1、它们的命名以大写字母开头

2、它们只能由“new”操作符来执行

实例化执行的过程:

说明:

1、创建新对象

2、构造函数this指向新对象

3、执行构造函数代码,修改this,添加新的属性

4、返回新对象

3、实例成员&静态成员

实例成员:通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员

说明:

1、为构造函数传入参数,创建结构相同但值不同的对象

2、构造函数创建的示例对象彼此独立互不影响

静态成员:构造函数的属性和方法都被称为静态成员

说明:

1、静态成员只能构造函数来访问

2、静态方法中的this指向构造函数

2、内置构造函数

在JavaScript中最主要的数据类型有6种:

基本数据类型:

字符串、数值、布尔、underfined、null

引用类型:

对象

其中字符串、数值、布尔等基本类型也都有专门的构造函数,这些我们称为包装类型

JS中几乎所有的数据都可以基于构成函数创建

引用类型:Object、Array、RegExp、Date等

包装类型:String、Number、Boolean等

1、Object

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

推荐使用字面量方式声明对象,而不是用Object构造函数

三种静态方法(只有Object构造函数可以使用)

作用:Object.keys静态方法获取对象中所有属性(键),返回的是一个数组

           Object.values静态方法获取对象中所有属性值,返回的是一个数组

           Object.assign(粘贴到的对象,复制的对象)静态方法常用于对象拷贝

2、Array

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

创建数组建议用字面量创建

常见的实例方法:

方法作用说明
forEach遍历数组不返回数组,经常用于查找遍历数组元素
filter过滤数组返回新数组,返回的是筛选满足条件的数组元素
map迭代数组返回新数组,返回的是处理之后的数组元素,想要使用返回的新数组
reduce累计器返回累计处理的结果,经常用于求和等

reduce的基本语法:

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

reduce的执行过程:

1、如果没有起始值,则上一次值以数组的第一个数组元素的值

2、每一次循环,把返回值给作为下一次循环的上一次值

3、如果有起始值,则起始值为上一次值

数组常见的其他方法:

join:数组元素拼接为字符串,返回字符串

find:查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回underfined

every:检查数组所有元素是否都符合指定条件,如果所有元素都符合返回true,否则返回false

some:检测数组中的元素是否满足指定条件,如果数组中有元素满足条件返回true,否则返回false

concat:合并两个数组,返回新数组

sort:对原数组单元值排序

splice:删除或替换原数组单元

reverse:反转数组

findIndex:查找元素索引值

3、String

在JavaScript中的字符串、数值、布尔具有对象的使用特征,如具有属性和方法

length(属性):用来获取字符串长度

split(‘分隔符’):用来将字符串拆分成数组

substring(需要截取一个字符的索引,[结束的索引号])用于字符截取

startswith(检测字符串,[检测位置索引号])检测是否以某字符开头

includes(搜索字符串,[检测位置索引号])判断一个字符是否包含在另一个字符里面,根据情况返回true或false

toUpperCase:用于将字母转换成大写

toLowerCase:用于将字母转换成小写

indexOf:检测是否包含某字符

endswith:检测是否以某字符结尾

replace:用于替换字符串,支持正则匹配

match:用于查找字符串,支持正则匹配


http://www.kler.cn/a/549357.html

相关文章:

  • C语言之easyX
  • 基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
  • 本地大模型编程实战(17)RAG(Retrieval Augmented Generation,检索增强生成)(1)
  • 使用maven-archetype制作项目脚手架
  • 栈与队列(C语言版)
  • Macos机器hosts文件便捷修改工具——SwitchHosts
  • C#: String s = new String(“Hello“)无法编译?编程语言字符集有两个?为什么这种变量名“\u0061\u0062”都能编译通过?
  • SpringCould+vue3项目的后台用户管理的CURD【Taurus教育平台】
  • 【Elasticsearch入门到落地】8、RestClient操作索引库-基础介绍及导入demo
  • 基于STM32的智能路灯节能控制系统
  • CentOS 7 企业级Redis 7部署指南
  • 【第15章:量子深度学习与未来趋势—15.3 量子深度学习在图像处理、自然语言处理等领域的应用潜力分析】
  • git lfs 安装方法
  • 自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口)
  • 反向代理ml
  • React:初识React
  • 利用MATLAB的linkaxes函数实现子图频率轴同步缩放
  • Hive查询之分组与Join
  • 链表 —— 常用技巧与操作总结详解
  • [思考记录.AI]关于Deepseek-r1的思维链