1函数递归
函数递归---自己调用自己
2变量
全局变量
1在函数外部定义的变量
2在任何地方可以使用
局部变量
1函数体内部通过var定义的变量
2局部变量只能在所在函数内使用
3当局部变量与全局变量同名时,用自己的
变量不加var 默认是隐形的全局变量 但是书写的时候一定要加
浏览器
js解析器或js引擎
1预解析
没有解读代码之前的操作 会找var function
变量声明提升
2逐行去解读代码
3数组API
api application interface 应用程序接口
数组的增加与删除
arr.push() 在数组的末尾增加一个或者多个元素
arr.unshift()在数组的前面增加一个或者多个元素
arr.pop()在数组的末尾删除一个元素
arr.shift()在数组的前面删除一个元素
删除的时候括号里面不需要加东西
splice()在数组任意位删除或添加元素
splice(3,2)从索引为3开始 删除两个元素 索引3也删除
splice(3,0,3,5)从索引为3的位置开始 删除0个 插入两个 插入的元素下标从3开始
var arr1=[1,2,3,4];
var arr2=[5,6,7,8];
var res =arr1.concat(arr2,9);
console.log(res);
Array(9) [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
复制代码
concat表示数组连接其他值 不改变原数组
迭代器方法
every方法会迭代数组中的每个元素 直到遇到返回false
arr.every(function);
也会迭代每个元素 直到遇到true结束
arr.some(function);
循环整个数组与for循环结果相同
arr.forEach(function)
返回一个新数组 新数组返回函数所有的true和false
arr.map(function)
返回一个新数组 新数组由函数返回值为true的元素组成
arr.filter()
arr.reduce()
数组逆序
reverse()
数组排序
sort() sort是把数组中的元素按照字符串排序的
搜索问题
indexOf()
从数组的末尾去找
lastIndexOf()
4字符串
api
str.charAt(n); 返回位置n上的字符
str.charCoedAt(n)返回位置n上的字符的Unicode编码
"a" 97 "A" 65 "0" 48
String.fromCharCode(n)返回数字对应的字符
indexOf("字符")从左到右在字符串中查到第一个符合的字符找不到返回-1
lastIndexOf("字符")从右开始就是从后面开始
substr(n)表示字符串从n这个位置一直截取到最后 原来的字符串不变
substr(n,length)表示字符串从num这个位置截取length长度的的字符串
substring(n)表示字符串从n这个位置一直截取到最后 原来的字符串不变
substring(n,n)表示字符串从n开始截取到n的位置,但是不包含n这个位置
split()把字符串分隔为字符串数组
join()把字符串连接