函数 function
函数 function: 一个代码块,可以封装
函数最大的好处是将重复的代码封装起来,多次调用只需调用函数即可
调用函数 语法:函数名()
参数
函数是有参数和返回值的
函数是有参数和返回值的
参数 : 由调用者传入的数据
返回值 : 函数执行完毕后,将结果返回
总结: 函数如果没有 参数和返回值 ,那只是一个容器,非常的不灵活
语法 : function 函数名(参数1,参数2,参数3……) 进行函数内部的操作 return 结果 } 在Javascript中 实参的个数和形参的个数可以不一致 -如果形参过多 会自动填上undefined - 如果实参过多 那么多余的实参会被忽 java c# 这些语言严格要求实参和形参的数量一致, 而JavaScript 是一门极其灵活的语言,没有这个要求, 但是我们在使用时应尽量保证严格(实际上相当于js语言的一个bug)
在Javascript中 实参的个数和形参的个数可以不一致 -如果形参过多 会自动填上undefined
如果实参过多 那么多余的实参会被忽java c# 这些语言严格要求实参和形参的数量一致,而JavaScript 是一门极其灵活的语言,没有这个要求,但是我们在使用时应尽量保证严格(实际上相当于js语言的一个bug)
逻辑中断
&& 一假为假 || 一真为真
false && anything // 逻辑与左边false则中断,如果左边为true, 则返回右边代码的值
true || anything // 逻辑或左边true则中断,如果左边为false, 则返回右边代码的值 // 逻辑中断 // 与逻辑运算符的区别: // 1. 逻辑中断可以连接不同数据类型的数据 // 2. 逻辑运算符一般用于两个条件的连接, 左右两边都得是布尔值 // && 短路与
函数的返回值 return
// 注意事项
1.会结束整个函数的执行
2.后面不要换行(return 后面一定要跟返回的数据,不要让它单独在一行)
3.return 有默认的返回值
作用域
作用域:变量作用的范围,这个变量在哪里开始使用,在哪里不可以使用
作用 : 提高程序逻辑的局部性,避免出现大量的命名冲突
JS中 分为全局作用域和局部作用域
数组总结
// 数组大总结
// 数组是什么? What
// 多个数据的容器, 一种引用数据类型
// 为什么要用数组? Why
// 变量也是容器, 但是一个变量只能存储一个数据, 如果需要存储多个数据, 就得用数组
// 数组怎么用? How
// 1. 定义
// [] 就是数组
// 特点:
// 1.1 数组是有序的
// 1.2 序号称之为索引/下标/角标, 从 0 开始
// 1.3 可以存储任意数据类型的数据
let arr = [12, true, 56, '牛逼']
// 2. 查询 (访问数据, 获取数据)
// 可以通过索引来访问数据
// 语法: 数组[索引]
arr[3]
let num = 2
arr[num] // 56
// 遍历: 将数组中每个元素都访问一次
// 如何实现遍历?
// for 循环
// 为什么要用 for 循环才能实现遍历?
// 因为数组是有序的, for 循环可以让循环变量从 0 开始, 逐步递增到数组的最后一个索引位置
for (let i = 0; i < arr.length; i++) {
// 访问每一个元素
arr[i]
}
// 3. 修改
// 通过索引找到元素, 直接修改
// 注意: 不要超出数组长度, 容易出现空位, 遍历时会出现大量的 undefined
arr[2] = '你好'
// 4. 添加
// 从末尾追加元素
// 可以传入多个元素
// 返回新数组的长度
arr.push()
// 从前面插入元素
arr.unshift()
// 5. 删除
// 从末尾删除一个元素
// 不能传入任何参数, 返回被删除的那个元素
arr.pop()
// 从前面删除一个元素
arr.shift()
// splice() 碾接
// 作用1: 仅用于删除
// 作用2: 删除后添加
// 作用3: 不删除, 只插入
// 可以传入三个参数:
// 参数1: 开始的索引
// 参数2: 要删除的元素个数
// 参数3: 要添加的元素