JavaScript 学习笔记(Day5)

这篇具有很好参考价值的文章主要介绍了JavaScript 学习笔记(Day5)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「写在前面」

本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容:
1. JavaScript 学习笔记(Day1)
2. JavaScript 学习笔记(Day2)
3. JavaScript 学习笔记(Day3)
4. JavaScript 学习笔记(Day4)


目录

  • 1 对象
  • 2 综合案例
  • 3 拓展

1 对象

今日内容和实战安排:

P64:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=64

1.1 什么是对象

P65:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=65

对象(object):是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性方法两部分构成。

1.2 对象使用

1. 对象声明语法
let 对象名 = {}

let 对象名 = new Object()

实际开发中,我们多用花括号。{} 是对象字面量

2. 对象有属性和方法组成
  • 属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等…
  • 方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏…
let 对象名 = {
属性名: 属性值,
方法名: 函数
}
3. 属性
  • 属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔
  • 多个属性之间使用英文 , 分隔
  • 属性就是依附在对象上的变量(外面是变量,对象内是属性)
  • 属性名可以使用 "" 或 '', 一般情况下省略,除非名称遇到特殊符号如空格、中横线等
let obj = {
uname: 'pink老师',
age: 18,
gender: '女'
}

P66:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=66

对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法:

JavaScript 学习笔记(Day5),javascript

1. 属性-查

语法:对象名.属性

let person = {
uname: 'pink老师',
age: 18,
gender: '女'
}
console.log(person.uname) // pink老师
console.log(person.age) // 18
console.log(person.gender) // 女

2. 属性-改

语法:对象名.属性 = 新值

let person = {
uname: 'pink老师',
age: 18,
gender: '女'
}
person.gender = '男'
console.log(person.gender) // 男

3. 属性-增

语法:对象名.新属性 = 新值

let person = {
uname: 'pink老师',
age: 18,
gender: '女'
}
person.address = '武汉黑马'
console.log(person) // {uname: 'pink老师', age: 18, gender: '女', address: '武汉黑马'}

4. 属性-删

语法:delete 对象名.属性

let person = {
uname: 'pink老师',
age: 18,
gender: '女'
}
delete person.gender
console.log(person) // {uname: 'pink老师', age: 18}

属性-查的另外一种写法

P67:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=67

  • 对于多词属性或则 - 等属性,点操作就不能用了。
  • 我们可以采取: 对象 ['属性']方式, 单引号和双引号都可以
let person = {
'user-name': 'pink老师',
age: 18,
gender: '女'
}
console.log(person.user-name) // NaN
console.log(person['user-name']) // pink老师
4. 方法

P68:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=68

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

1.3 遍历对象

P69:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=69

  • 一般不用这种方式遍历数组、主要是用来遍历对象
  • for in 语法中的 k 是一个变量, 在循环的过程中依次代表对象的属性名
  • 由于 k 是变量, 所以必须使用 [ ] 语法解析
  • 一定记住: k 是获得对象的 属性名对象名[k] 是获得 属性值
// 数组,不推荐用 for in 遍历数组
let arr = ['pink', 'red', 'blue']
for (let k in arr) {
console.log(k) // 输出数组的索引号 '0' '1' '2',但是是字符串
console.log(arr[k]) // 输出 'pink' 'red' 'blue'
}
// for in 遍历对象
let obj = {
uname: 'pink老师',
age: 18,
gender: '男'
}
for (let k in obj) {
console.log(k) // 输出属性名 'uname' 'age' 'gender'
console.log(obj[k]) // 输出属性值 'pink老师' 18 '男'
}

P70:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=70

JavaScript 学习笔记(Day5),javascript

1.4 内置对象

P71:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=71

内置对象:JavaScript内部提供的对象,包含各种属性和方法给开发者调用

内置对象-Math:

Math 对象是 JavaScript 提供的一个“数学”对象

Math 对象包含的方法有:

  • random:生成0-1之间的随机数(包含0不包括1)
  • ceil:向上取整
  • floor:向下取整
  • round:四舍五入
  • max:找最大数
  • min:找最小数
  • pow:幂运算
  • abs:绝对值
console.log(Math.ceil(1.1)) // 2
console.log(Math.floor(1.1)) // 1
console.log(Math.round(1.1)) // 1
console.log(Math.round(1.5)) // 2
console.log(Math.max(1,2,3)) // 3
console.log(Math.min(1,2,3)) // 1

P72:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=72

Math.random() 随机数函数, 返回一个0 - 1之间,并且包括0不包括1的随机小数 [0, 1)

// 如何生成0-10的随机数呢?
Math.floor(Math.random() * (10 + 1))

// 如何生成5-10的随机数?
Math.floor(Math.random() * (5 + 1)) + 5

// 如何生成N-M之间的随机数
Math.floor(Math.random() * (M - N + 1)) + N

案例:

P73:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=73

JavaScript 学习笔记(Day5),javascript

P74:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=74

JavaScript 学习笔记(Day5),javascript

P75:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=75

JavaScript 学习笔记(Day5),javascript

2 综合案例

P76:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=76

JavaScript 学习笔记(Day5),javascript

3 拓展

P77:https://www.bilibili.com/video/BV1Y84y1L7Nn?p=77

3.1 术语解释

术语 解释 举例
关键字 在JavaScript中有特殊意义的词汇 let、var、function、if、else、switch、case、break
保留字 在目前的JavaScript中没意义,但未来可能会具有特殊意义的词汇 int、short、long、char
标识(标识符) 变量名、函数名的另一种叫法
表达式 能产生值的代码,一般配合运算符出现 10 + 3、age >= 18
语句 一段可执行的代码 If () for()

3.2 基本数据类型和引用数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

  • 值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型
    • string ,number,boolean,undefined,null
  • 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型
    • 通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

堆栈空间分配区别:

  1. 栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈; 简单数据类型存放到栈里面

2、堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。引用数据类型存放到堆里面

JavaScript 学习笔记(Day5),javascript
简单类型
JavaScript 学习笔记(Day5),javascript
复杂类型
// 简单类型
let num = 10
let num2 = num
num = 20
console.log(num2) // 20

// 复杂类型
let obj1 = {
age: 18
}
let obj2 = obj1
obj1.age = 20
console.log(obj2) // 20

「结束」
JavaScript 学习笔记(Day5),javascript

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-802999.html

到了这里,关于JavaScript 学习笔记(Day5)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 尚硅谷JavaScript高级学习笔记

    JavaScript中函数是对象。我们后续描述构造函数的内存模型时,会将构造函数称为 构造函数对象。 typeof 运算符来查看值的类型,它返回的是类型的字符串值 == 会做数据转换 输出: 每个函数都有一个prototype属性,它默认指向一个0bject空对象(即称为:原型对象) 给原型对象添加

    2024年03月11日
    浏览(49)
  • 【力扣hot100】刷题笔记Day5

    回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!! 这个题解解释比官方清晰,截个图方便看,另一个题解的代码简洁 参考灵神的题解视频,单调队列的使用类似单调栈,复习一下C++实现 这题之前也解过,这次可以有更简洁的思路,只用一个mp即可  快两

    2024年02月19日
    浏览(36)
  • 前端学习笔记:JavaScript基础语法(ECMAScript)

    此博客参考b站:【黑马程序员前端JavaScript入门到精通全套视频教程,javascript核心进阶ES6语法、API、js高级等基础知识和实战教程】https://www.bilibili.com/video/BV1Y84y1L7Nn?p=76vd_source=06e5549bf018e111f4275c259292d0da 这份笔记适用于已经学过一门编程语言(最好是C语言)的同学,如果你没有

    2024年02月16日
    浏览(47)
  • 前端学习心得笔记之三(JavaScript篇)

    JavaScript一种运行在客户端(浏览器)上的解释性弱语言,是前端的重中之重,在计算机刚刚兴起的那个时代,这个由十天仓促编成的语言发展到现在也是令人吹嘘。 文件引用 在一个单独的js文件中也可以编写JavaScript代码,然后在HTML文件使用script标签进行引用以下为演示 m

    2024年04月23日
    浏览(49)
  • 【JavaScript】面向后端快速学习 笔记

    制作动态页面 脚本语言 弱类型 TS 强类型 1.HTML内部包裹 但是只能单页面使用 引入外部JS文件 2.1 数据类型 数值类型统一为 number , 不区分整数和浮点数 字符串类型为 string 和JAVA中的String相似,JS中 不严格区分单双引号 ,都可以用于表示字符串 布尔类型为 boolean 和Java中的boolea

    2024年01月21日
    浏览(45)
  • JavaScript-Web学习笔记01

    1、Web API Web API 是浏览器 提供的一套操作 浏览器功能 和 页面元素 的 API (BOM 和 DOM)。 2、总结 API 是为我们提供的一个接口,帮助我们实现某种功能 Web API 主要是针对浏览器提供的接口,主要针对浏览器做交互效果。 Web API 一般都有输入和输出(函数的传参和返回值),

    2024年04月09日
    浏览(74)
  • 【学习笔记46】JavaScript购物车的实现

    1、将通过数据重构页面 查询数据, 渲染页面 2、全选 选中全选按钮后, 根据全选按钮的选中状态, 修改所有商品的选中状态 重新渲染视图 3、清空购物车 清空商品数据 重新渲染视图 4、结算 找到所有选中的商品 计算所有选中商品各自的总价 计算所有选中商品的总价之和 5、

    2024年02月08日
    浏览(45)
  • JavaScript学习笔记01(包含ES6语法)

    Js 最初被创建的目的是“使网页更生动”。 Js 写出来的程序被称为 脚本 ,Js 是一门脚本语言。 被直接写在网页的 HTML 中,在页面加载的时候自动执行 脚本被以纯文本的形式提供和执行,不需要特殊的准备或编译即可运行(JIN compiler) Js 不仅可以在浏览器中执行,也可以在

    2024年02月16日
    浏览(54)
  • 网络安全笔记-day5,服务器远程管理

    windows远程有两种类型: 1.远程桌面(图形化) 2.telnet(命令行) 准备两台虚拟机,我用的是winsowsXP和windowsServer2003 1.将两台设备连接到一个交换机下 2.配置IP地址 windowsXP ip:192.168.1.2 子网掩码:255.255.255.0 windowsServer2003 ip:192.168.1.3 子网掩码:255.255.255.0 测试是否能通信 打开winsow

    2024年04月16日
    浏览(62)
  • HTML+CSS+JS 学习笔记(三)———Javascript(中)

    🌱博客主页:大寄一场. 🌱系列专栏:前端 🌱往期回顾:HTML+CSS+JS 学习笔记(三)———Javascript(上) 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注 目录  JavaScript中的函数 函数的定义和调用 函数的定义  函数的调用 嵌套函数  递归函数  变量的作用域 全局变量和局部

    2024年02月06日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包