目录
01数组的基本使用
概念:
数组是一连串的数据空间 把多个数据放到一起 方便统一操作(最大值 最小值 平均值)
数组的创建:
1.字面量创建:
var 数组变量名 = [元素1,元素2,元素3,....元素n]
2.new 关键字创建
var 数组变量名 = new Array(元素1,元素2,元素3,...元素n)
var 数组变量名 = new Array(数字) 表示 创建只有数字长度的数组 但是元素是空的
以上两种创建方式没有任何区别 推荐使用第一种写法 因为是第二种写法的简化写法也叫作语法糖
获取数组的长度:变量名.length
可以根据数据的索引值 取出对应位置的元素(索引值从0开始)
可以根据索引值去修改指定位置的元素
数组的长度和数组的最大索引值之间的关系是: 最大索引值=数组名.length-1
负索引或者超出范围的索引 获取到的元素值为undefined
02 数组中常用的函数
数组中常用的函数(方法)
增删改查
1.增加元素:
数组名.push(元素) 表示向最后一位增加元素
数组名.unshift(元素) 表示向数组的第一位增加元素
2.删除元素:
数组名.splice(start,length) start开始位置 length 删除的个数(会改变原数组)
如果只写一个值 表示从指定位置开始删除到末尾
数组名.pop( ) 删除数组最后一个元素
数组名.shift( ) 删除数组的第一个元素
3.修改元素:
数组名[索引值]=新值
4.查询元素:
数组变量[索引值]
5.数组截取:
数组名.slice(start,end) start开始位置 end结束位置
从指定位置开始截取到指定位置 返回被截取的元素组成新的数组.
不会改变原数组 包含头位置 不包含尾位置
如果只传入一个数字表示从制定位置开始 截取到末尾
6.数组查找:
数组名.indexOf(元素) 根据你传入的元素查找到第一个出现的位置 找不到就返回-1
7.数组翻转:
数组名.reverse( )(会改变原数组)
8.数组转换成字符串(插入指定分隔符)(不会改变原数组)
数组名.join('自定义分隔符') 如果传入空字符串则没有分隔符
03 函数的基本使用
如果有一段代码想要反复使用 可以选择循环结构 for while do...while
循环主要针对的是一段代码 在这一刻瞬间执行多少次
如果不定时使用的情况下 反复执行一段代码 一般使用函数
函数的作用:
把一段代码用大括号封装起来 起个名字 可以反复调用
函数定义的格式:
function 函数名(){
函数体代码
}
函数的调用:函数名()
函数不调用 不执行
04 函数的参数的使用
函数的参数的使用:
函数分为形参(形式参数)和实参(实际参数)
形参:
函数定义时 定义的参数格式
function 函数名(形参1,形参2,...形参n){
}
函数调用时 需要传入实参
就是用实参给形参赋值
实参和形参的数量不匹配的处理方式:
1.当实参数量等于形参数量时 正常使用
2.当实参的数量小于形参时:(传少了) 多余的形参的值为undefined \
3.当实参数量大于形参时(传多了) 多余的实参不予理会
05 函数的返回值
函数的返回值格式:
function 函数名(){
return 需要返回的结果
}
函数名()
函数只能实现某种功能 最终的结果需要返回给函数的调用者 函数名() 通过return实现
只要函数遇到return 就会把后面的结果返回给函数的调用者 函数名() =return 后面的值
关于函数返回值的知识点:
1. 如果函数的内部没有return 语句 那么函数默认返回undefined
2.如果函数的内部使用了return 但后面没有值 那么也是返回undefined
这个时候的return后面的值没有值 意义是单纯的为了结束方法
推荐的做法是要么让函数始终都返回一个值 要么永远不要返回值
如果函数内部有其他的结构语句 比如 for if 那么有可能写多个return
最好是所有的return返回的数据类型是一致的
06 函数的两种创建
1.函数表达式创建
show() (涉及到函数的提升 后面讲)
function show(){
console.log('我是show函数');
}
2.变量式函数的创建
var demo =function(){
console.log("我是demo函数")
}
demo()
两种创建函数的区别:
第一种函数表达式创建 可以提前调用
第二种变量式创建 不可以提前调用
07 关于函数的小知识点
1.直接打印函数名 把函数代码整个以字符串的形式打印出来了
拿到函数名 相当于拿到整个函数体
函数名代表整个函数
2. 执行函数 就是等于执行函数的代码并且返回一个返回值
******函数名() 表示调用函数并取得一个返回值******