js笔记2

## 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()把字符串连接

原文地址:https://www.cnblogs.com/my466879168/p/10128823.html