JavaScript学习-js中的数组/Boolean类/字符串String类

软件设计 2017-04-22

JavaScript学习

【js中的数组】

1、数组的概念:是在内存中连续储存对个有序元素的结构

元素的顺序称为下标,通过下标查找对象元素。

2、数组的声明

① 字面量声明:var arr1 = [];

js中,同一数组,可以储存多种不同的数据类型:

例如: var arr1 = [1,"2",true,{"name":"hahhah"},[1,2]]

② new关键字声明: var arr2 = new Arry(参数)

>>>参数可以为

a.为空:声明一个,没有指定长度的数组;

b.数组的length:声明一个指定长度的数组,但是数组的长度随时可变可追加;最大长度为0~(2^32-1);

c.数组默认的N个值: new Array(1,"2",ture);相当于[1,"2",ture]

3、数组中元素的读写/增删

① 读写:通过下标来访问元素,例如arr[2];

② 增删:delete arr[n];删除数组的第N+1个值,但数组长度不变,对应位置值为Undefined

arr.push(值);数组最后增加一个值,相当于arr3[arr3.length] = 值;

arr.unshift(值);数组的第0位插入一个值,其余位数顺延;

arr.pop9();删除数组最后一位,与delete不同的是,pop执行后数组长度也会减少一个;相当于Arr3.length-1;

arr.shift(值);删除数组的第0位,长度也会减一;

4、数组中其他常用方法

①join('分隔符');将数组用制定分隔符分隔,链接为字符串。参数为空时,默认用逗号分隔;

②concat();(原数组不被改变)将数组,与多个数组的值链接为新的数组;

[1,2].concat([3,4],[5,6])=[1,2,3,4,5,6]; 链接时,中括号至多拆一层;

[1,2].concat([1,2,[3,4]])=[1,2,1,2,[3,4]];多层中括号,以二维数组形式存在

③push():数组最后增加数;unshift():数组开始增加一个数【返回数组新的长度】

pop():删除数组最后一个;shift():删除数组第一个【返回被删除的值】

【调用上述方法,原数组均被改变】

④recerse(): 【原数组被改变】数组翻转,逆序排列。

⑤slice(begin,end):【原数组不会被改变】 截取数组中的某一部分,成为新数组

>>>传递一个参数:默认为begin index,当这个开始,截到最后一个;

>>>传递两个参数:截取从begin到end区间,左闭右开(包括begin,不含end)

>>>参数可以为负数,-1表示最后一个;

⑥sort(function):【原数组会被改变】对数组进行排序;

>>>不指定排序函数:按照数值的ascii码值进行排列;

>>>传入排序函数:默认两个参数a,b,如果返回值>0,则a>b;反之返回值<0,则a<b

var arr7 = [7,8,10,13,1,6,99]

arr7.sort(function(a,b){

return a-b; //b在前,a在后(升序排列)

//return b-a;//a在前,b在后(降序排列)

});

console.log(arr7);

⑦indexOf(value,index):返回数组中第一个value值对应的下标位置,若未找到,返回-1

lastIndexOf(value,index):返回最后一个value值对应的下标位置。

>>>若未指定index参数:默认在数组所有元素中查询;

若指定index参数:则从当前index开始,向后查询;

5、二维数组&稀疏数组(了解):

①稀疏数组:数组并不含有从0开始到length-1的所有所有索引(length值比实际元素个数多);

②二维数组:var arr = [[1,2],[3,4],[5,6]];//相当于三行两列的矩阵

取出二维数组元素: arr[行号][列号];//可使用嵌套循环遍历

6、引用数据类型&基本数据类型:

引用数据类型;(数组/对象)赋值时,是将原变量的地址,赋给新变量。两个变 量,实际上操作的是同一份数据,所以,修改其中一个变量,另一个跟着变化;

基本数据类型:赋值时,是将来变量的值,赋值给新的变量。两个变量,还属于不同的内存空间,修改其中一个,互不干扰。

【Boolean类】

var intrue = true; //单纯的变量

var inTrue1 = new Boolean(true);//一个Boolean类型的对象

Number类

  • Number.MIN_VALUE 可表示的最小数
  • Number.MAX_VALUE 可表示的最大数
  • .toString():将数字转为字符串 相当于 num+""
  • .toLocaleString():将数字按照本地格式的顺序转为字符串。一般,三个一组加逗号。
  • .valueOf():返回Number对象的基本数字值
  • .toFixed(n):将数字转为字符串,保留n位小数,四舍五入。
  • .toPrecision(n):将数字格式化为指定长度,n=不含小食店的所有位数和

eg:

var num = 1; //单纯的变量

var num1 = new Number(2);//一个Numbor类型的对象

console.log(num1);

     

【字符串String类】

1、属性:str.length 返回字符串的长度;

2、方法

.toLowerCase() 所有字符串转为小写;

.toUpperCase() 所有字符串转为大写;

.charAt(n) 截取字符串中第n个字符;

.indexOf("查询字串",index) 查询从index开始的,第一个字串的索引。没找到返回-1,同数组的indexOf()方法;

.substring(begin,end) 截取字串

>>>传递一个参数:默认为begin index,当这个开始,截到最后一个;

>>>传递两个参数:截取从begin到end区间,左闭右开(包括begin,不含end)

>>>参数可以为负数,-1表示最后一个;

.replace("old","new")将字符串中,第一个old,替换为new。

第一个参数可以为普通字符串,也可以为正则表达式(普通字符串将只匹配第一个,正则表达式则更具具体情况区分)

.split("") 将字符串,通过 指定分隔符 分为数组。 0

相关推荐