20JS11——JS对象

news2025/2/12 20:53:22

文章目录

  • 一、对象
  • 二、创建对象的三种方式
    • 1、利用字面量创建对象
    • 1.1 使用对象
    • 1.2 变量、属性、函数、方法总结
    • 2、利用new Object创建对象
    • 3、利用构造函数创建对象
      • (1)为什么使用构造函数?
      • (2)利用构造函数创建对象
      • (3)构造函数和对象
  • 三、new关键字
  • 四、遍历对象属性
  • 五、小结

目标:
1、对象
2、创建对象的三种方式
3、new关键字
4、遍历对象属性

一、对象

在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。
对象是由属性和方法组成的。
· 属性:事物的特征,在对象中用属性来表示(常用名词)
· 方法:事物的行为,在对象中用方法来表示(常用动词)

二、创建对象的三种方式

在JavaScript中,现阶段我们可以采用三种方式创建对象(object):
· 利用字面量创建对象
· 利用new Object创建对象
· 利用构造函数创建对象

1、利用字面量创建对象

在这里插入图片描述
(1)里面的属性或者方法我们采取键值对的形式键属性名:值属性值
(2)多个属性或者方法中间用逗号隔开的
(3)方法冒号后面跟的是一个匿名函数

1.1 使用对象

(1)调用对象的属性
方法一:
对象名.属性名
在这里插入图片描述
方法二:
对象名[‘属性名’]
在这里插入图片描述

(2)调用对象的方法
对象名.方法名()
在这里插入图片描述

千万别忘记加小括号

1.2 变量、属性、函数、方法总结

· 变量:单独声明赋值,单独存在
· 属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征
· 函数:单独存在的,通过“函数名(”的方式就可以调用
· 方法:对象里面的函数称为方法,方法不需要声明,使用“对象方法名()”的方式就可以调用,方法用来描述该对象的行为和功能。

2、利用new Object创建对象

在这里插入图片描述
(1)利用 等号 = 赋值的方法,添加对象的属性和方法
(2)每个属性和方法之间用 分号结束
(3)使用对象:
在这里插入图片描述

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

(1)为什么使用构造函数?

因为我们一次创建一个对象,里面很多的属性和方法是大量相同的 我们只能复制。
因此我们可以利用函数的方法 重复这些相同的代码 我们就把这个函数称为 构造函数,
又因为这个函数不一样,里面封装的不是普通代码,而是对象。
构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面。

(2)利用构造函数创建对象

声明构造函数:
在这里插入图片描述
调用构造函数:
在这里插入图片描述
例如:
在这里插入图片描述在这里插入图片描述

(1)构造函数名字首字母要大写
(2)构造函数不需要人return就可以返回结果
(3)调用构造函数,必须使用new
(4)我们只要new Star()调用函数就创建一个对象ldh{ }
(5)属性和方法前面必须添加this

(3)构造函数和对象

· 构造函数,如Stars),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
·创建对象,如newStars(),特指某一个,通过new关键字创建对象的过程我们也称为对象实例化
在这里插入图片描述
对象的实例化: 利用构造函数创建对象的过程称
在这里插入图片描述

三、new关键字

new在执行时会做四件事情:
1.在内存中创建一个新的空对象。
2.让this指向这个新的对象。
3.执行构造函数里面的代码,给这个新对象添加属性和方法。
4.返回这个新对象(所以构造函数里面不需要return)。

抽象记忆:
在这里插入图片描述

四、遍历对象属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用for in联动变量,我们喜欢写 k 或者 key

五、小结

1.对象可以让代码结构更清晰
2.对象复杂数据类型object
3.本质:对象就是一组无序的相关属性和方法的集合。
4.构造函数泛指某一大类,比如苹果,不管是红色苹果还是绿色苹果,都统称为苹果。
5.对象实例特指一个事物,比如这个苹果、正在给你们讲课的pink老师等。
6.for.…in语句用于对对象的属性进行循环操作。

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

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

相关文章

Java8日期时间类LocalDateTime格式化

LocalDateTime日期时间格式化 LocalDateTime localDateTime LocalDateTime.now() System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")测…

000网络常见的资源推荐

博客 分类: 图解网络 | 小白debug有时骚话连篇,有时硬核图解https://xiaobaidebug.top/categories/%E5%9B%BE%E8%A7%A3%E7%BD%91%E7%BB%9C/网络攻击常见手段总结 | JavaGuide(Java面试 学习指南)本文整理完善自TCP/IP 常见攻击手段 - 暖蓝笔记 - 2021这篇文章。 这…

window下安装docker并运行angular项目

window下安装docker并运行angular项目 1、使用场景 本地有一个node项目,node 版本是 v16.13.2,在本地安装的angular 是 15.2.4 但是测试服上面的node 版本是 14.19.3,angular 是1.0.0-beta.28.3 ,会导致angular项目的 ng build …

吴恩达471机器学习入门课程1第3周——逻辑回归

文章目录 Logistic Regression1、导包2、逻辑回归2.1、问题描述2.2、加载数据集数据可视化 2.3、sigmod function2.4 逻辑回归的代价函数2.5 逻辑回归的梯度2.6 使用梯度下降学习参数 测试可视化2.8 评估逻辑回归 3、 正则化逻辑回归3.1 问题陈述3.2 加载和可视化数据3.3 特征映…

大模型部署实战(二)——Ziya-BLIP2-14B-Visual

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

第3章“程序的机器级表示”:存储器的越界引用和缓冲区溢出

已经看到,C 对于数组引用不进行任何边界检查,而且局部变量和状态信息(如寄存器值和返回指针)都存放在栈中。这两种情况结合到一起就能导致严重的程序错误,一个对越界的数组元素的写操作破坏了存储在栈中的状态信息。然…

60题学会动态规划系列:动态规划算法第三讲

简单多状态问题 文章目录 一.按摩师二.打家劫舍系列三.删除并获得点数四.粉刷房子 1.按摩师 力扣链接:力扣 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预…

java泛型学习

前言 没有泛型的时候,我们声明的 List 集合默认是可以存储任意类型元素的,乍一看你可能还会觉得挺好,这样功能强大,啥类型都可以存储......但是开发的时候由于不知道集合中元素的确切类型,遍历的时候我们拿到的 item …

路径规划算法:基于供需优化的路径规划算法- 附代码

路径规划算法:基于供需优化的路径规划算法- 附代码 文章目录 路径规划算法:基于供需优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法供需…

图形编辑器开发:最基础但却复杂的选择工具

大家好,我是前端西瓜哥。 对于一个图形设计软件,它最基础的工具是什么?选择工具。 但这个选择工具,却是相当的复杂。这次我来和各位,细说细说选择工具的一些弯弯道道。 我正在开发的图形设计工具的: http…

复习并发编程的基础知识(二)

线程的状态6种状态及生命周期 1.new 2.Runnable(Ready和Running) 3.Blocked 4.Waiting 5.Timed_Waiting 6.Terminated 线程同步 同步:一些敏感的数据(比如共享的需要修改的资源)不允许被多个线程同时访问&#…

centos7 gitlab安装配置

gitlab概述 GitLab是一个基于Web的Git存储库管理和代码协作平台。它提供了一套完整的工具和功能,使团队能够更高效地进行代码版本控制、协作开发和持续集成/持续部署(CI/CD)。 以下是GitLab的主要功能和概述: 版本控制系统&…

使用布隆过滤器的flink十亿级数据实时过滤实践一

1项目背景 1.1 需求 实时推荐项目需求如下:根据用户实时行为(如关注,播放,收藏)推荐该UP主(关注的up主,播放视频发布up主,收藏up主)或其相似UP主的作品,UP主及相似UP主下的作品是提前离线召回…

react---生命周期

目录 1.新旧生命周期对比 2.常用的3个钩子函数 3.生命周期(旧) 4.生命周期(新) React 中为我们提供了一些生命周期钩子函数,让我们能在 React 执行的重要阶段,在钩子函数中做一些事情。 1.新旧生命周期…

数据安全--17--数据安全管理之数据传输

本博客地址:https://security.blog.csdn.net/article/details/131061729 一、数据传输概述 数据传输有两个主体,一个是数据发送方,另一个是数据接收方。数据在通过不可信或者较低安全性的网络进行传输时,容易发生数据被窃取、伪…

Mybatis源码学习之全局配置文件和映射文件解析

全局配置文件和映射文件解析 全局配置文件解析 public static void main(String[] args) throws IOException {// 读取配置文件InputStream is Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1.xml");// 创建SqlSessionFactory工厂SqlSes…

JDK11 官网下载(提供网盘下载资源)

目录 引言一、Oracle(甲骨文)二、JDK11下载1.JDK11下载入口2.JDK版本说明3.JDK11下载前说明4.JDK11下载 三、网盘下载1.资源提供说明2.资源列表清单(持续更新中...)3.获取方式 总结 引言 我们要学习 Java 语言去开发 Java 程序&a…

k8s 基本架构

k8s 中支持的 node 数 和 pod 数 k8s 也是逐步发展过来的,来看看以前和现在支持的 node 数 和 pod 数对比 node 即 节点 , 早期的 k8s 版本能够支持 100 台节点,现在 k8s 可以支持到 2000 台了 pod 数,早期的版本可以支持 1000 …

Android 自定义View 之 Dialog弹窗

Dialog弹窗 前言正文一、弹窗视图帮助类二、弹窗控制类三、监听接口四、样式五、简易弹窗六、常规使用七、简易使用八、源码 前言 在日常开发中用到弹窗是比较多的,常用于提示作用,比如错误操作提示,余额不足提示,退出登录提示等&…

linux 内核版本和发行版本

当要明确自己的Linux系统的版本号时,大多数情况是用命令确定Linux内核版本的。不过这个还是要与CentOS的版本号(就是你使用的Linux系统的发行版本)区分开来,这两个不是一个东西。 一、发行版本号 比如当时安装CentOS时&#x…