JS构造函数&数据常用函数

ppgo8 于 2023-04-30 发布

构造函数&数据常用函数

深入对象

创建对象的三种方式

目的:了解创建对象的三种方式

  1. 使用{}字面量

    const obj = {}
    
  2. 使用new Object()

    const obj = new Object({})
    
  3. 利用构造函数创建对象

    下一节单独开个函数讲。

构造函数


总结

image-20230430165342022

实例成员&静态成员


总结

  1. 实例成员(属性和方法)写在谁身上?

    • 实例对象的属性和方法即为实例成员
    • 实例对象相互独立,实例成员被实例对象使用
  2. 静态成员(属性和方法)写在谁身上?

    • 构造函数的属性和方法成为静态成员

    • 静态成员只能构造函数访问

内置构造函数

常见的内置构造函数:Object、Array、String、Number。

问题:按道理来说只有对象才有属性和方法,那为什么会有下面的情况?

// 为什么下面的基本数据类型可以有属性和方法?
// 按道理来说不是只有对象复杂数据类型才有吗?
const str = 'pink'
console.log(str.length)

const num = 12
console.log(num.toFixed(2))

// JS底层
// 基本包装类型:把基本的数据类型包装成了复杂数据类型 (问题的回答)
// 底层完成,把简单数据类型包装成了引用数据类型;不是程序员自己写的
const str2 = new String('pink') 

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

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

image-20230430174621835

但是不用担心,基本数据类型被包装后,检测数据类型还是程序员自己输入的基本数据类型。

Object

Array

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

const arr = new Array(3,5) // arr = [3,5]

但是:创建数组建议使用字面量创建,不使用Array构造函数创建。

image-20230430213216381

reduce方法

数组常见方法-其他实例方法

image-20230501114921038

数组静态方法

String

在JavaScript中的字符串、数值、布尔具有对象的使用特征。

常见实例方法

由实例对象调用

image-20230501124312098

注意

字符串案例

image-20230501130410160

推荐使用map遍历数组,而不是写for

Number

综合案例

https://www.bilibili.com/video/BV1Y84y1L7Nn?p=173&spm_id_from=pageDriver&vd_source=dde2f4dd432156027fedf9b1734ba705