栈和队列:用不同的API去操作数组。
队列和栈都是数据结构
栈:一段封闭,另一端出/入;(先进后出)。两种操作:结尾入栈出栈、开头入栈出栈。
结尾入栈出栈:arr.push(元素1,元素2,元素n,......) var last=arr.pop(); |A,B,C,D,......(元素下标不变)
开头入栈出栈:arr.unshift(元素1,元素2,元素n,......) var first=arr.pop();.......D,C,B,A|. (元素下标改变)
二进制转十进制:abcd a*2的3次+b*2的2次+c*2的1次+d*2的0次 以此类推。
二进制转十进制:将该数除以二,得到余数a,商A;将A除以二,得余数b,商B,.....商为0,余数为k;讲a,b,.....k顺数颠倒即可得到二进制数。
例:将132转为二进制数
var lt=[];
var a=132;
while(a>0){
lt.push(a%2); a=parseInt(a/2);
}
lt.reverse();
document.write(lt.join(""));
队列:FIFO:入队列:arr.push(元素1,元素2,元素n,......);出队列: var first=arr.shift();
二维数组:数组中的元素仍为数组[ [a,b,c],[a,b,c],[a,b,c]]
创建二维数组的语法:同普通数组。将普通元素换为普通数组。(创建后也可赋值增加元素)。
访问二维数组中的元素:arr.[m][n] m、n分别表示父子数组的下标。(数组中的数组也有各自的下标)
重点:冒泡排序、二维数组的遍历。
内置对象:由EJS定义,浏览器厂商已经实现(浏览器中已经有的)标准对象。内置对象封装了专门的数据和操作数据常用的API。String、Boolean等
包装类型(属于内置对象):专门封装原始类型的数据,并提供对数据的常用操作方法。有String类型、number类型、boolean类型。
数据的本身值不能进行任何操作。将值转为对象才能进行操作。这些方法程序会自己调用。用户需要的时候也可以自己调用。
String:用途广泛。用于操作文字。
String的包装类型:1.str,legth:返回字符串字符个数 2.大小写转换:str.toLowerCase/str.toUpperCase
js中只有new可以在堆中创建对象。
var a=string(121);
var b=new String('大大');创建引用类型对象。