JavaScript第三部分、第四部分——for循环、函数

1. for循环

1.1 语法

for (变量起始值; 终止条件; 变量变化量) {
// 循环体
}

退出循环:
在这里插入图片描述
在这里插入图片描述

1.2 for循环嵌套

在这里插入图片描述

2. 数组

2.1 数组是什么

数组(array)是一种可以按顺序保存数据的数据类型

2.2 数组的基本使用

1. 声明语法

let 数组名 = [数据1, 数据2, ..., 数据n]

构造函数法:

let arr = new Array(数据1, 数据2, ..., 数据n)

2. 取值语法
通过下标取值:

数组名[下标]

3. 一些术语
在这里插入图片描述
4. 遍历数组

for (let i = 0; i < 数组名.length; i++) {
	数组名[i]
}

2.3 操作数组

“增” “删” “改” “查”
在这里插入图片描述

操作数组——新增

  • 数组.push()方法将一个或多个元素添加到数组的末尾并返回数组的新长度
arr.push(元素1, ..., 元素n)
  • 数组.unshift()方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
arr.unshift(元素1, ..., 元素n)

操作数组——删除

  • 数组.pop()方法从数组中删除最后一个元素,并返回该元素的值
arr.pop()
  • 数组.shift()方法从数组中删除开头一个元素,并返回该元素的值
arr.shift()
  • 数组.splice()方法删除指定元素
    使用场景:
    (1)随机抽奖,中奖的用户需要从数组里面删除,下一次就不会选他中奖了
    (2)点击删除按钮,相关数据就会从商品数据中删除
arr.splice(start, deleteCount)
arr.splice(起始位置(索引号), 删除的元素个数)

在这里插入图片描述

2.4 冒泡排序

在这里插入图片描述
数组排序数组.sort()(默认为升序)
当没有参数传入时(arr.sort()),默认按照数组转成字符串后的结果每一位的Unicode编码进行排序,因此会出现只有个位数排序正确的问题

3. 函数

3.1 为什么需要函数

在这里插入图片描述

3.2 函数使用

  • 函数的声明语法
function 函数名() {
	函数体
}

在这里插入图片描述

  • 函数的调用语法
函数名()

3.3 函数传参

  • 声明语法

(形参)

function 函数名(参数列表) {
	函数体
}
  • 调用语法

(实参)

函数名(传递的参数列表)

参数默认值

如果调用时,不给值,默认是undefined

因此我们可以改进,用户不输入实参,可以给形参默认值,可以默认为0,这样程序更严谨,比如:

在这里插入图片描述

这个默认值只会在缺少实参参数传递时才会被执行,所以有参数会优先执行传递过劳的实参,否则默认为undefined

3.4 函数返回值

有返回值的函数:当调用某个函数后,这个函数就会返回一个结果出来

return 数据

在这里插入图片描述
返回多个数值: 以数组的形式
在这里插入图片描述
函数细节
在这里插入图片描述

3.5 作用域

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

在这里插入图片描述
变量的访问原则:
在这里插入图片描述
先局部找变量,后整体。一层一层往外找。就近原则。
在这里插入图片描述

3.5 匿名函数

在这里插入图片描述
匿名函数:没有名字的函数,无法直接使用。
使用方式:函数表达式、立即执行函数

3.5.1 函数表达式

将匿名函数赋值给一个变量,并且通过变量名进行调用

// 声明
let fn = function () {
	// 函数体
}

// 调用
fn()

在这里插入图片描述

函数表达式和具名函数的不同:
具名函数的调用可以写到任何位置,函数表达式只能先声明 再调用,因为相当于是let定义的变量

3.5.2 立即执行函数

场景介绍: 避免全局变量之间的污染

// 方式1
// 可以理解为:用括号把函数括起来当函数名
// 第一个小括号里是函数名 第二个小括号实际上是在调用
(function () { console.log(1) })();

// 方式2
(function () { console.log(1) }());

注意:多个立即执行函数要用分号隔开,不然会报错

逻辑中断

在这里插入图片描述
类似于参数的默认值写法,为了防止函数忘记传入实参时,执行后出现NaN的情况

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

转换为Boolean型

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值