JavaScript基础 第五天

news/2024/10/19 7:27:37/

1.什么是对象以及对象的基本使用

2.对象的操作 --增删改查

3.对象的方法

4.数学内置对象

5.简单数据类型和引用数据类型

一.什么是对象以及对象的基本使用

① 对象是什么

  • 可以理解为一种无序的数据集合,数组是有序的数据集合
  • 对象通常用来描述某个事物,或者一个人

② 对象的使用

     1.对象声明语法

let 对象名 = {}let 对象名 = new Object()

     2.对象由属性和方法组成

let 对象名 = {属性名: 属性值,方法名:函数
}

      属性:信息或特征

let obj = {uname:'pink老师',age:18,gender:'女'
}
  • 数据描述性的信息称为属性,比如人的姓名,身高,年龄,性别,一般都是名词性的
  •  属性都是成对出现的,包括属性名和属性值,它们之间用英文:隔开
  • 多个属性之间使用英文,分隔
  • 属性就是依附在对象上的变量
  • 属性名可以使用" "或' ', 一般情况下省略,除非名称遇到特殊符号,比如空格或者-   

      方法:功能或行为

   二.对象的操作 --增删改查

① 查询对象:  对象.属性

  • 使用. 获得对象中属性对应的值,称为属性访问
  • 语法:对象名.属性
  • 获得对象里面的属性值
let obj = {'name-chen': '小米',num: '100000011001',weight: '0.5kg',address: '中国大陆'
}console.log(obj.name)

② 修改:对象名.属性 = 新值 (有这个属性就是修改这个属性)

obj.name = '小米10 PLUS'

③ 增:对象名.属性 = 新值(没有的属性就是增加一个新的属性)

 let obj = {'name-chen': '小米',num: '100000011001',weight: '0.5kg',address: '中国大陆'
}obj.color = '粉色'

④ 属性 - 删(了解)  delete 对象名.属性

delete pink.age

⑤ 查询的两种方法

  • 对象.属性名

      console.log(obj.color)

  • 对象名['属性名']:对于多个词语拼接成的属性,点操作就不能用了,需要采取对象['属性'] 的方式

     console.log(obj['num'])      

 三.对象中的方法

① 概念:数据行为性的信息称为方法,比如跑步,唱歌等,一般都是动词性的,本质是函数

let obj = {uname: '刘德华',song:function(x, y) {console.log(x + y);}
}
// 方法调用
obj.song(1, 2)
  • 方法是由方法名和函数两部分构成的,它们之间用:分隔
  • 多个属性之间用英文,分隔
  • 方法是依附在对象中的函数
  • 方法名可以使用"" 或' ', 一般情况下省略,除非名称遇到特殊符号如空格,中横线等

② 遍历对象

  • 对象里面是无序的,没有规律,也没有数组那样的下标
  • 使用for  in  语法
  • 一般不用这种方式遍历数组,主要用来遍历对象
  • for in语法中的k是一个变量,在循环的过程中依次代表对象的属性名
  • 由于k是变量,所以必须使用[ ]语法解析
  • k 是对象的属性名,对象名[k]是属性值
let obj = {uname : 'pink老师',age: 18,gender: '男'
}
for (let k in obj) {console.log(k)  // 属性名console.log(obj[k])
}

四.数学内置对象

① Math对象是JS中的一个数学对象,提供了一系列数学运算的方法

方法含义
random生成0-1之间的随机数
ceil向上取整
floor向下取整
max找最大数
pow幂运算
abs绝对值

 

 

 

 

 

 

console.log(Math.PI)// 向上取整
console.log(Math.ceil(1.5))// 向下取整
console.log(Math.floor(1.1))// 四舍五入:取最接近的整数   特殊情况:负数:-1.5 取 -1
console.log(Math.round(4.68))// 最大值
console.log(Math.max(1,2,3,4,5))// 最小值
console.log(Math.min(1,2,3,4,5))

 ② 随机数

  • Math.random() 随机数函数,返回一个0~1之间,并且包括0但不包括1的随机小数 [0, 1)
  • 取0到10之间的随机数: Math.floor(Math.random() * ( 10 + 1))
  • 取0到N之间的随机数: Math.floor(Math.random() * (N + 1))
  • 生成M到N之间的随机数:Math.floor(Math.random() * (M - N + 1)) + N
  • 随机抽取数组中的一个数:Math.floor(Math.random() * arr.length)

五. 简单数据类型和引用数据类型

  • 简单类型:基本数据类型或者值类型,在存储变量的时候存储的是值本身,因此叫值类型

    string number boolean undefined null

  • 复杂类型:引用类型,在存储时变量中存储的仅仅是地址,通过new关键字创建的对象(如 object, Array, Date)
  • 栈:由操作系统自动分配释放存放函数的参数值,局部变量的值,操作方式类似于数据结构中的栈,简单数据类型存放到栈里面
  • 堆:存放复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收,引用数据类型存放到堆里面

 


http://www.ppmy.cn/news/1026369.html

相关文章

谁能讲清楚Spark之Spark系统架构

### 整体架构概述 Spark与Hadoop MapReduce的结构类似,Spark也采用Master-Worker结构。如果一个Spark集群由4个节点组成,即1个Master节点和3个Worker节点,那么在部署Standalone版本后,Spark部署的系统架构图如图2.1所示。简单来说,Master节点负责管理应用和任务,…

学生成绩管理系统V2.0

某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,参考前面章节的“学生成绩管理系统V1.0”,用一维数组和函数指针作函数参数编程实现如下菜单驱动的学生成绩管理系统,其中每位同学的学号和成绩等数据可以…

netcat反弹shell

命令执行nc反弹shell 瑞士军刀 在执行命令漏洞,一般的利用漏洞是执行反弹shell在进行其他操作。 执行反弹shell的命令有许多。 反弹shell因为是受害者,反向连接远程服务器,请求是内部到外部,所以防火墙是不会进行拦截的。 反弹…

生成树协议用来解决网络风暴的问题?(第三十二课)

生成树协议用来解决网络风暴的问题?(第三十二课) 一 STP RSTP MSTP 介绍 STP(Spanning Tree Protocol)、RSTP(Rapid Spanning Tree Protocol)和MSTP(Multiple Spanning Tree Protocol)都是用于网络中避免环路的协议。 STP是最初的协议,它通过将某些端口阻塞来防止…

响应领导号召,打赢攻坚战

大周末的跑来加班,过来监督成员干活,响应领导号召,打赢攻坚战。 事业单位很喜欢玩攻坚,今年是第三次了,NND。预计今年还会有一两次。 平常都跟大爷一样的,不急不躁,系统上线个把月了&#xff0c…

Centos 8和Centos 7中配置阿里云的 yum 源

YUM源简介 yum是一种在Linux环境下安装、更新和删除软件包的软件管理器。通过yum,用户可以轻松地从软件仓库中搜索和安装包含所需软件的软件包,并自动处理所需的依赖关系。此外,yum还可以与其他软件管理工具配合使用,例如rpm。它…

DP1.4接口的PCB布局布线要求

DP接口即为DisplayPort接口,是由视频电子标准协会发布的显示接口。DP接口将在传输视频信号的同时加入对高清音频信号传输的支持,并且同时支持更高的分辨率以及刷新率。DP1.4通信端口规范新标准基于DP1.3规范,宽度不变但加入了显示压缩流技术&…

【hello C++】智能指针

目录 一、内存泄漏 1.1 什么是内存泄漏,内存泄漏的危害 1.2 内存泄漏分类 1.3 如何检测内存泄漏 1.4 如何避免内存泄漏 二、智能指针的使用及原理 2.1 RAII 2.2 智能指针的原理 2.3 智能指针的发展历程 2.4 智能指针的模拟及实现 三、shared_ptr 常见的问题 3.1 线程…