数组
数组的声明和初始化
字面量声明数组
|
|
使用 new Array 构造函数声明数组
|
|
数组操作
查询
通过下标/索引
的方式访问数组元素
JavasScript 数组索引越界不会报错
,只会返回undefined
|
|
数组求和
|
|
修改
数组[索引] = 新值
新增
arr.push()
将一个或者多个元素添加到元素末尾
,并且返回新数组的长度
arr.unshift()
将一个或者多个元素添加到元素开头
,并且返回新数组的长度
删除
arr.pop()
方法删除数组中最后一个元素
,并且返回删除的元素
(当数组为空时返回undefined
)
arr.shift()
方法删除数组中第一个元素
,并且返回删除的元素
(当数组为空时返回undefined
)
就地删除:
|
|
函数
函数的作用
通过封装,提高代码复用性
函数定义
function 函数名(参数) { 函数体 return 返回值}
函数命名规范:
- 和变量命名基本一致
- 小驼峰命名法
- 前缀应该为动词
函数调用:函数名(参数列表)
函数的参数以及默认参数
术语:
- 形参与实参
- 缺省参数:定义时
等号赋值
注意事项:
- 调用时
少传了参数
,则缺少的参数值为undefined
- 调用时
多传了参数,则多余的参数不做处理
函数返回值
- 函数使用
return
关键字返回函数的返回值 return
语句之后的代码不再执行,因此 return 下面不要写代码javascript
不支持多返回值
,要返回多个值,应该使用容器(数组、字典等)对象返回没有书写return语句
的函数,其返回值是undefined
变量的作用域
- 局部作用域(函数内部
let
定义) - 全局作用域(函数外部
let
定义) - 变量向上查找机制,就近一致原则
匿名函数
函数既可以作为参数
也可以作为返回值
函数表达式
|
|
函数表达式与具名函数的不同之处:
- 具名函数的
调用位置随意
- 函数表达式必须
先声明
,再使用
立即执行函数
立即执行函数是为了避免全局变量的污染
|
|
带参数的立即执行函数:
|
|
逻辑中断
- 逻辑与
左边为 false
就中断,两边都为真时取后面的值
- 逻辑或
左边为 true
时就中断。两边都为真时取前面的值