js之深入对象和内置构造函数

这里写目录标题

  • 一级目录
    • 二级目录
      • 三级目录
  • 一、深入对象
    • 1.创建对象三种方式
    • 2.构造函数
    • 3.实例成员
    • 4.静态成员
  • 二、内置构造函数
    • 1.Object
    • 2.Array
    • 3.String
    • 4.Number

一级目录

二级目录

三级目录

一、深入对象

1.创建对象三种方式

利用对象字面量创建对象
利用new Object创建对象:const obj=new Object({uname:pink})
利用构造函数创建对象

2.构造函数

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

  1. 使用场景:快速创建多个类似的对象
function Pig(name,age,gender){this.name=namethis.age=agethis.gener =gender
}
//创建佩奇对象
const Peppa=new Pig('佩奇',6,'女')
//创建乔治对象
const George=new Pig('乔治',3,'男')
//创建猪妈妈对象
const Mum=new Pig('猪妈妈',30,'女')
//创建猪爸爸对象
const Dad=new Pig('猪爸爸',32,'男')
  1. 命名以大写字母开头
  2. 只能由new操作符来执行

说明:

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

实例化执行过程

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

3.实例成员

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

  1. 为构造函数传入参数,创建结构相同但值不同的对象
  2. 构造函数创建的实例对象彼此独立互不影响
    例子
function Pig(name){this.name=name
}
const peiqi=new Pig('佩奇')

4.静态成员

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

  1. 静态成员只能构造函数来访问
  2. 静态方法中的this指向构造函数
    比如Date.now() Math.PI Math.random()
    例子
function Pig(name){this.name=name
}
Pig.eyes=2//静态属性

二、内置构造函数

为什么字符串可以用属性:js底层把字符串数值布尔等简单数据类型用专门的构造函数包装成复杂数据类型,

1.Object

内置构造函数,通常用于构造对象
静态方法

  1. Object.keys静态方法获得对象中所有属性(键)返回的是数组
  2. Object.values静态方法获得对象中所有属性(值)
  3. Object.assign静态方法常用于对象拷贝(追加属性)Object.assign(oo,o)o拷贝给oo

2.Array

数组常见实例和方法

3.String

1.实例属性1ength用来获取字符串的度长(重点)
2.实例方法split(‘分隔符’)用来将字符串拆分成数组(重点)
3.实例方法substring(需要截取的第一个字符的索引[,结束的索引号])用于字符串截取(重点)左闭右开
4.实例方法startsWith(检测字符串[,检测位置索引号])检测是否以某字符开头(重点)
5.实例方法includes(搜索的字符串[,检测位置索引号])判断一个字符串是否包含在另一个字符串中,根据情况返回true或false(重点)
6.实例方法toUpperCase用于将字母转换成大写
7.实例方法toLowercase用于将就转换成小写
8.实例方法indexOf检测是否包含某字符
9.实例方法endsWith检测是否以某字符结尾
10.实例方法replace用于替换字符串,支持正则匹配
11.实例方法match用于查找字符串,支持正则匹配

4.Number

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

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

相关文章

obj导入u3d

导入OBJ模型到‌Unity步骤 将无人机/船扫描的模型,生成obj格式; 将文件直接拷贝到asset文件夹,为了后期方便管理,最好起个名字 通过模型直接拖拽到场景即可;坐标系可能不一样,需要特殊处理

SpringBoot应用从jar包部署改为war包部署要做哪些修改

吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭&#xf…

Ubuntu 20安装JDK17和MySQL8.0

一.jdk 安装JDK 第一步:更新软件包:sudo apt update 第二步:安装JDK:sudo apt install openjdk-17-jdk 第三步:检测JDK: java -version 卸载JDK: 第一步:移除JDK包:apt-get purg…

nginx通过nginx_upstream_check_module实现后端健康检查

1、简介说明 nginx是常用的反向代理和负载均衡服务,具有强大并发能力、稳定性、丰富的功能集、低资源的消耗。 nginx自身是没有针对后端节点健康检查的,但是可以通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的相关指令来完…

【Langchain大语言模型开发教程】基于文档问答

🔗 LangChain for LLM Application Development - DeepLearning.AI Embedding: https://huggingface.co/BAAI/bge-large-en-v1.5/tree/main 学习目标 1、Embedding and Vector Store 2、RetrievalQA 引包、加载环境变量 import osfrom dotenv import…

Vue中的事件修饰符?

在Vue.js中,事件修饰符提供了一种简洁的方式来处理DOM事件中的常见问题,如阻止事件冒泡、阻止默认行为等。Vue的事件修饰符以.开头,可以串联使用多个修饰符。以下是一些常用的事件修饰符: 1.stop: 阻止事件冒泡。等同于在原生事件…

python多进程库(multiprocessing)

multiprocessing本身是Python的多进程库,用来处理与多进程相关的操作。但是由于进程与进程之间不能直接共享内存和堆栈资源,而且启动新的进程开销也比线程大得多,因此使用多线程来爬取比使用多进程有更多的优势。multiprocessing下面有一个du…

【BUG】已解决:OSError: [Errno 22] Invalid argument

已解决:OSError: [Errno 22] Invalid argument 目录 已解决:OSError: [Errno 22] Invalid argument 【常见模块错误】 错误原因: 解决方法如下: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&…

240720_图像语义分割中数据集原图与标签对比查漏

240720_图像语义分割中数据集原图与标签对比查漏 核对原图和标签是否一一对应的工作是必要的,不然在训练过程中可能会发生已经训练了好几个epoch了,突然给你报xx.png找不到,然后你去删除掉了对应的jpg,但是在重新运行几个epoch之…

快速认识EA(Enterprise Architecture)

前言 企业架构,英文是:Enterprise Architecture,简称:EA,是承接企业战略规划与IT建设之间的桥梁,是企业信息化的核心,主要包括业务架构和IT架构。 架构的本质是管理和解决系统的复杂性&#x…

06. 截断文本 选择任何链接 :root 和 html 有什么区别

截断文本 对超过一行的文本进行截断,在末尾添加省略号(…)。 使用 overflow: hidden 防止文本超出其尺寸。使用 white-space: nowrap 防止文本超过一行高度。使用 text-overflow: ellipsis 使得如果文本超出其尺寸,将以省略号结尾。为元素指定固定的 width,以确定何时显示省略…

mysql无法启动

总是报错: 1、Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xeu mysql.service" for details. 2、ERROR 2002 (HY000): Cant connect to local …

linux中常见的协议、服务端口整理汇总

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

【CF】1216F-WiFi 题解

传送门:1216F 标签:动态规划 题目大意 你是一名宿舍管理员,在一条直走廊上有n 个连续的房间。房间编号从 1 到 n。你需要将所有n 间房连接到互联网。你可以直接将每个房间连接到互联网,第 i 个房间的费用为i 枚硬币。有些房间有…

【机器学习实战】数据增强基础

文章目录 1. 数据增强2. 数据增强技巧torchvision2.1 图像大小调整2.2 图像旋转2.3 图像转换为张量2.4 归一化2.5 图像裁剪2.6 仿射变换2.7 透视变换 3. 自动增强4. Mixup增强 1. 数据增强 什么是数据增强?数据增强是优化数据吗?这种说法并不尽然。首先…

Linux复习01

1. Linux应用场景: 互联网公司的服务器后端智能设备的使用嵌入式... 2.Linux商业化版本 a.商业化版本:(ubuntu,红帽,centos)内核界面等 b.技术版本(Linux的内核源代码)2.6 2.7等等 内核版…

【2024德国签证】留学面签问题汇总

在去交材料的时候,可能会被随机安排面试。这些面试问题一般都很简单,主要是测试你的基本英文交流能力。无需担心,签证官不会问太专业的问题,因为他们也不懂专业内容。到目前为止,没有一个博士生因为这个面试被拒签。毕…

Golang | Leetcode Golang题解之第239题滑动窗口最大值

题目: 题解: func maxSlidingWindow(nums []int, k int) []int {n : len(nums)prefixMax : make([]int, n)suffixMax : make([]int, n)for i, v : range nums {if i%k 0 {prefixMax[i] v} else {prefixMax[i] max(prefixMax[i-1], v)}}for i : n - 1…

将github上的项目导入到vscode并创建虚拟环境

1、将github上的项目导入到vscode 直接从github上下载到本地&#xff0c;用vscode打开&#xff08;Open file&#xff09; 2、创建虚拟环境 python -m venv <name> <name>\Scripts\activate ps: 1、退出虚拟环境 deactivate 2、如果运行python -m venv <…

Unity格斗游戏,两个角色之间互相锁定对方,做圆周运动

1&#xff0c;灵感来源 今天手头的工作忙完了&#xff0c;就等着服务器那边完活&#xff0c;于是开始研究同步问题。 正好想到之前想做的&#xff0c;两个小人对线PK&#xff0c;便有了这篇文章。 2&#xff0c;要实现的效果 如图所示&#xff0c;两个小人可以互相锁定&…