JavaScript基础 第五天

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.hqwc.cn/news/65756.html

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

相关文章

【C++】模拟实现map和set(用红黑树进行封装)

模拟实现map和set 前言正式开始简单框架data的比较迭代器operatoroperator-\-[ ]重载 前言 本篇以前一篇红黑树模拟实现插入功能为基础:【C】红黑树模拟实现插入功能(包含旋转和变色) 本篇中不会再讲解关于旋转和变色的知识。只是对于红黑树进行简单的封装。 如果…

Mongoose http server 例子

今天抽了点时间看了一下 mongoose的源码, github 地址,发现跟以前公司内部使用的不太一样,这里正好利用其 http server 例子来看一下。以前的 http message 结构体是这样的: /* HTTP message */ struct http_message {struct mg_…

用Python编写的小游戏:探索游戏世界的乐趣

探索开始 引言:第一部分:猜数字游戏代码案例1: 第二部分:石头剪刀布游戏代码案例2: 第三部分:迷宫游戏代码案例3: 总结: 引言: Python是一种简单易学的编程语言&#xf…

CSS:服务器字体 与 响应式布局(用法 + 例子 + 效果)

文章目录 服务器字体定义 服务器字体使用例子 响应式布局设备类型设备特性例子 服务器字体 解决字体不一致而产生的。 首先,在网上把字体下载好。 定义 服务器字体 font-face{font-family:字体名称;src:url(字体资源路径); }使用 在需要使用的选择器里加上 font…

探索数据之美:初步学习 Python 柱状图绘制

文章目录 一 基础柱状图1.1 创建简单柱状图1.2 反转x和y轴1.3 数值标签在右侧1.4 演示结果 二 基础时间线柱状图2.1 创建时间线2.2 时间线主题设置取值表2.3 演示结果 三 GDP动态柱状图绘制3.1 需求分析3.2 数据文件内容3.3 列表排序方法3.4 参考代码3.5 运行结果 一 基础柱状图…

c++ 学习系列 -- 智能指针

一 为什么引入智能指针?解决了什么问题? C 程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。但使用普通指针,容易造成内存泄露(忘记释放)、二次释放、程序发生异常时内存泄…

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现 注1:本文系“无线感知论文速递”系列之一,致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI…

【对于一维信号的匹配】对一个一维(时间)信号y使用自定义基B执行匹配追踪(MP)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Tesseract用OpenCV进行文本检测

我没有混日子,只是辛苦的时候没人看到罢了 一、什么是Tesseract Tesseract是一个开源的OCR(Optical Character Recognition)引擎,OCR是一种技术,它可以识别和解析图像中的文本内容,使计算机能够理解并处理…

【LeetCode】617.合并二叉树

题目 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠…

k8s常用资源管理 控制

目录 Pod(容器组):Pod是Kubernetes中最小的部署单元,可以包含一个或多个容器。Pod提供了一种逻辑上的封装,使得容器可以一起共享网络和存储资源 1、创建一个pod 2、pod管理 pod操作 目录 创建Pod会很慢 Pod&…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C++)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C) Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在BGAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过BGAPI SDK设置相机固定帧…