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

JavaScript进阶(十)

第三部分:JavaScript进阶

目录

第三部分:JavaScript进阶

五、深入对象

5.1 创建对象三种方式

1. 利用对象字面量创建对象

2. 利用new Object创建对象

3. 利用构造函数创建对象

5.2 构造函数

5.3 实例成员&静态成员

六、内置构造函数

6.1 Object

Object.keys

Object.values

Object.assign

6.2 Array

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

数组常见方法-其他方法

数组常见方法-伪数组转换为真数组

6.3 String

6.4 Number

七、综合案例

五、深入对象

5.1 创建对象三种方式

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

1. 利用对象字面量创建对象


 

2. 利用new Object创建对象


 

3. 利用构造函数创建对象

5.2 构造函数

目标:能够利用构造函数创建对象

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

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


 

构造函数在技术上是常规函数。

不过有两个约定:

  1. 它们的命名以大写字母开头。
  2. 它们只能由"new"操作符来执行。
     

构造函数语法:大写字母开头的函数

创建构造函数:


 

说明:

  1. 使用new关键字调用函数的行为被称为实例化
  2. 实例化构造函数时没有参数时可以省略()
  3. 构造函数内部无需写return,返回值即为新创建的对象
  4. 构造函数内部的return 返回的值无效,所以不要写return
  5. new Object()   new Date ()也是实例化构造函数
     

总结:

1. 构造函数的作用是什么?怎么写呢?

  • 构造函数是来快速创建多个类似的对象
  • 大写字母开头的函数

2. new关键字调用函数的行为被称为?

  • 实例化

3. 构造函数内部需要写return吗,返回值是什么?

  • 不需要
  • 构造函数自动返回创建的新的对象
     

练习-利用构造函数创建多个对象

需求:
①写一个Goods构造函数
②里面包含属性  name商品名称  price价格  count 库存数量
③实例化多个商品对象,并打印到控制台,例如
                                        小米        1999         20
                                        华为        3999         59
                                        vivo        1888         100

实例化执行过程

说明:

  1. 创建新的空对象
  2. 构造函数this指向新对象
  3. 执行构造函数代码,修改this,添加新的属性
  4. 返回新对象
     

5.3 实例成员&静态成员

目标:能够说出什么是实例成员和静态成员

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

说明:

  1. 实例对象的属性和方法即为实例成员
  2. 为构造函数传入参数,动态创建结构相同但值不同的对象
  3. 构造函数创建的实例对象彼此独立互不影响。
     

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


 

说明:

  1. 构造函数的属性和方法被称为静态成员
  2. 一般公共特征的属性或方法静态成员设置为静态成员
  3. 静态成员方法中的this指向构造函数本身。比如Date.now()、Math.PI、Math.random()

总结:

1. 什么是实例成员?

  • 实例对象的属性和方法即为实例成员

2. 什么是静态成员?

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

六、内置构造函数

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

基本数据类型:字符串、数值、布尔、undefined、 null

引用类型:对象

相关文章:

  • ai agent(智能体)开发 python高级应用6:用crawl4ai0.6.3抓取分类 形成每日简报
  • day 28
  • 543.二叉树的直径
  • JavaScript基础-对象的相关概念
  • 洛谷 全排列问题
  • BUUCTF——Nmap
  • java的面向对象思想
  • 小蜗牛拨号助手用户使用手册
  • 2.1.3
  • 【基于栈的 Vue3 路由历史管理:优雅处理多系统间的导航】
  • 使用python进行船舶轨迹跟踪
  • 符合Python风格的对象(对象表示形式)
  • 使用HtmlAgilityPack采集墨迹天气中的天气数据
  • 简单神经网络(ANN)实现:从零开始构建第一个模型
  • python项目参考文献
  • 用Python玩转人工智能——数字识别技术 之二
  • QT软件安装
  • 高效完成任务:制定标准与限时完成的双重法宝
  • 三层固定实体架构:高效实现图上的检索增强生成(RAG)
  • 2024 山东省ccpc省赛
  • 全中国最好的十个博物馆展陈选出来了!
  • 新闻1+1丨强对流天气频繁组团来袭,该如何更好应对?
  • 著名心血管病学专家李国庆教授逝世,享年63岁
  • 受贿1.29亿余元,黑龙江省原副省长王一新被判无期
  • 郑钦文憾负高芙,止步WTA1000罗马站四强
  • 特朗普再提“接管”加沙,要将其变为“自由区”