义: 在函数的内部调用当前的函数 2. 需要满足的条件 * 要有结束条件 * 递归不能无限的递归下去,否则会溢出。 3. 总结: 函数的调用原理与数据结构栈的实现是一致的。
十六.java script中数组的特点
1.数组的长度是可以动态改变的
2.在同一个数组中可以存储不同的数据类型
3.每一个数组中都有一个 length的属性,表示的是数组中元素的个数
十七.数组的创建
- 数组中的两种基本创建方式
1.字面量的方式
例如:["a", 5, "b",8]
2.构造函数
例如: new Array(数组长度);
注意点:
- 在构造函数创建数组对象时,最后一个元素后面不需要添加逗号
- 在构造函数中只传入一个Number值,这个值一定要大于 0
- 在构造函数创建数组对象时,new关键字可以省略
3.修改和访问数组中的元素
例如:
var arr=[10,20,30,40,50,60]; alert(arr[0]); arr[3]=100;
4.数组中的长度
例如:
var arr = [10, 20, 60, 5, 7];
alert(arr.length);
十八.数组的遍历
1.遍历数组的方法
* 普通的for循环 * for...in * for each * for... of
2.普通for循环的遍历
例如:
var arr=[20,30,50,60,78]; for (var i=0;i<arr.length;i++){ console.log(arr[i]); }
3.for ...in循环的遍历
例如:
var arr=[50,30,60,12,45]; for (var index in arr){ console.log(arr); } ##### 注意:
for...in遍历数组时,遍历出来的是数组的下标
4.for each方法的遍历
例如:
var arr=[23,4,56,7,80]; arr.forEach(function(ele,index)
十九.java script中数组的常用方法
1.转换方法:
toString()
作用:返回由数组中每个值得字符串形式拼接而成的一个以逗号分割的字符串
例如:
var arr=[2,3,45,6,78]; alert(arr.toString());
2.join()方法
作用:可以使用指定的连接符连接
例如:
var arr = [50, 20, 10, 5, 15, 6];
alert(arr.join("="))
二十.java script中站的方法
1.入栈 ( push() )
作用:把新的元素添加到数组的后面
2.出栈 ( pop() )
作用:把数组中的最后一个元素从数组中移除
例如:
var arr=[2,3,4,5,67]; var num=arr.push("100"); var hom=arr.pop(); alert(num); alert(hom);
3.队列方法
1.shift()
作用:从队列中的头部移除元素
2.unshift()
作用:向队列尾部添加元素
例如:
var arr=[23,45,67]; var num=arr.shift(); var bak=arr.unshift(); alert(num); alert(bak);
4.数组中的倒序
reverse():
作用:将数组中的元素进行倒序
例如:
var arr=[34,56,7,9];
arr.reverse();
alert(arr);
5.java script中查找指定元素在数组中的索引
1. indexOf(item,num)
作用:从num的位置开始向后查找item第一次出现的位置
2.lastIndex(item,num)
作用:从num的位置开始向前查找item第一次出现的位置
例如:
var arr=[2,3,5,3,6,2,8,8]; alert(indexOf("2",2); alert(lastIndeOf("3",4);
6.获取新的数组
1.concat(arrayX,arrayX,......,arrayX)
作用:用于连接多个数组,并且不会对原数组做任何的改变
例如:
var arr=[2,34,56]; var arr1=[87,65,43]; var newArr=arr.concat(arr1); alert(newArr);
2. slice(start,end)方法
作用:截取数组,并且返回结渠道的新数组
例如:
var arr=["a","s","d","f","g"]
3.splice(index,howmany,item1,.....,itemX) 方法
作用:向数组中添加元素,删除元素,替换元素
例如:
var arr=[2,3,4,"as",d,f]; var num= arr.splice(1,3); alert(num); var num1=arr.splice(1,0,"m","n"); alert(num1); var num2=arr.splice(1,2,"2","3"); alert(num2);
二十一.java script中数组的检测
1.instanceof运算符
作用:会返回一个Boolean值,指出对象是否是特定构造函数的一个实例
例如:
var arr = [];
alert(arr instanceof Array);
2.Array.isArray()方法
作用:判断一个变量是不是数组,是则返回true,否则返回false
例如:
var arr = [];
alert(Array.isArray(arr))
二十二. java script中字符串的操作
1.注意:
java script中字符串是不可变的,需要创建一个新的字符串
2. 字符串的创建
var s = "good";
alert(typeof s);
var s = String(123);
alert(typeof s);
二十三.java script中字符串常见的方法
##### 1.s.charAt(index) 作用:返回的是指定位置的字符 >例如: var s = "a你好bcd"; alert(s.charAt(0)); ##### 2.s.charCodeAt(index) 作用:返回指定位置的字符的 Unicode 编码 >例如: var s = "a你好bcd"; alert(s.charCodeAt(0)); ##### 3.字符串连接方法 ###### 1.s.concat(stringX,stringX,...,stringX) * 作用:用于连接两个或者多个字符 * 注意: 1.并不会改变原字符串 2.可以使用字符串连接符(+) >