标签:cas substr 截取 locale case join() 开始 string类 使用
一、数组:
1、数组的基本慨念:
数组是在内存空间中连续存储的一组有序数据的集合
元素在数组中的顺序,成为下标。可以使用下标访问数组的每个元素
2、如何声明一个数组
① 使用字面量声明:
在JS中,同一数组,可以存储各种数据类型
例如:var reg = [1,"换个影子",true,{},null,func]; //调用数组中的函数:reg[5]();
② 使用new关键字声明: var reg = new Array(参数);
参数可以是:
a、参数省略:表示创建一个空数组;
b、参数为一个整数:声明一个length为指定长度的数组。但是,这个length可以随时可变可追加
var reg = new Array(5); reg[6]=1;
c、参数为逗号分隔的多个数值:表示数组的多个值
new Array(1,2,3,4) == [1,2,3,4];
3、数组中元素的读写和增删
① 读写:通过下标访问元素,下标从0开始 reg[1]="haha"
② 增删:
a、使用delete关键字,删除数组的某一个值,删除之后,数组的长度不变,对应位置元素变为undefined。eg :delete reg[1];
b、reg.pop():删除数组的最后一个值,长度-1。相当于reg.length -= 1;
c、reg.shift():删除数组的第一个值。长度-1.
d、reg.unshift(新值):在数组的第0个位置新增一个值;长度+1.
e、reg.push(新值):在数组的最后一个位置新增一个值;长度+1.
f、直接访问数组没达到的下标,可以动态追加
reg[100] = 1;中间如果有空余下标,将存入undefined;
4、数组中的其他方法:
① join():【原数组不会被改变】将数组用指定分隔符连接为字符串,并返回。当参数为空时,默认用逗号分隔; var str = arr.join("-");
② concat():【原数组不会被改变】 将数组与多个数组的值连接为新数组,并返回 var arr2= arr.concat(arr1,arr1)
concat()连接时,如果有二维数组,则至多能拆一层[]
[1,2]. concat([3,4],[5,6]) -> [1,2,3,4,5,6]
[1,2]. concat([3,4,[5,6]]) -> [1,2,3,4,[5,6]]
③ push():数组最后增加一个,unshift() 数组开头增加一个。返回新数组的长度; 原长度+1
pop():删除数组最后一个, shift()删除数组开头一个。 返回被删除的值 原长度-1
ps:上述方法均会改变原数组
④ reverse():【原数组被改变】 将数组反转倒序输出 arr.reverse();
⑤ slice(begin,end):【原数组不会被改变】截取数组中的某一部分,并返回截取的新数组
》》传入一个参数,表示开始区间,默认截到数组最后
》》传入两个参数:表示开始和结束的下标,左闭右开区间
》》两个参数可以为负数,表示从右边开始数,最后一个值为-1;
⑥ sort():【原数组被改变】 将数组进行升序排列:
》》默认情况下,会按照每个元素首字母的ASCII值进行排序
[1,3,2].sort() -> [1,2,3]
》》传入一个比较函数,手动指定排序的函数算法
函数将默认接收两个值a、b,如果返回值>0,则证明a>b;
arr.sort(function(a,b){ return a-b; //升序排列 // return b-a; //降序排列 });
⑦ indexOf(value,index):返回数组中第一个value值所在的下标,如果没有找到返回-1;
lastIndexOf(value,index):返回数组中最后一个value值所在的下标,如果没有找到返回-1;
》》如果没有指定index,则表示全数组查找value;
》》如果指定了index,则表示从index开始。向后查找value;
⑧ forEach():专门用于循环遍历数组,接收一个回调函数,回调函数接收两个参数,第一个参数为数组的值,第二个参数为下标
【IE8之前不支持此函数】
arr.forEach(function(item,index){ console.log(item); //单独打印数组的每个值 })
⑨ map():数组映射。使用方法与forEach()相同。不同的是,map可以有返回值,表示原数组的每个值进行操作后,返回一个新数组
【IE8之前不支持此函数】
var arr1 = arr.map(function(item,index){ console.log(item); //单独打印数组的每个值 return item+2; //返回的新数组的值为原数组的值加2 })
5、二维数组与稀疏数组(了解)
① 二维数组:数组中的值,依然是一个数组形式。
eg:var arr = [[1,2],[3,4],[5,6]];//相当于两行三列
读取二维数组:arr[行号][列号];
② 稀疏数组:数组中的索引是不连续的。(length要比数组中实际的元素个数大)
二、内置对像
1、Boolean 类
也有两种声明方式: 可以使用字面量方式声明一个单纯的变量;用typeof检测为Boolean类型
也可以使用new Boolean()声明一个boolnean类型的对象。用typeof检测为Object类型
var bool = true; var bool1 = new Boolean(true);
2、Number类
Number.MAX_VALUE:返回NUmber类可表示的最大值
Number.MIN_VALUE:返回NUmber类可表示的最小值
☆ num1.toString():将数值类型(num1)转换为字符串类型
num1.toLocaleString():将数值按照本地格式顺序转换为字符串,一般从右开始,三个一组加逗号分隔
☆ num1.toFixed(n):将数字保留n为小数,并转为字符串格式
num1.toPrecision(n):将数字格式化为指定长度,
n表示不含小数点的位数长度,如果n小于原数字长度,则用科学计数法表示,如果n大于原数字长度,则小数点后补零;
num2.valueOf():返回Number对象(num2)的基本数字值;
3、 string类
1、 属性:.length: 返回字符串的长度,即字符数;
字符串支持类似数组的下标访问方式:str[0];
2、.toLowerCase(): 将字符串所有字符转成小写
.toUpperCase():将字符串所有字符转成大写
3、.charAt(n):截取数组的第n个字符相当于str[n];
4、.substring(begin,end):从字符串中截取子串
》》只传入一个参数:从begin到最后
》》传入两个参数:从begin到end的区间,左闭右开;
5、.indexOf("str",index):查找子串在字符串中出现的位置,如果没有找到,返回-1,其他同数组的indexof方法;
.lastIndexOf("i",4):同数组;
6、.split("分隔符"):将字符串用已指定分隔符分隔,存入数组中,传入空""表示字符串的每个字符分开放入数组
7、.replace("old","new"):将字符串的第一个old替换为new。 返回新字符串 原字符串不变
》》第一个参数可以是,普通字符串,也可以是正则表达式
》》如果是普通字符串,则只替换第一个old,如果是正则表达式,则可以根据正则的写法要求,进行替换
4、Date时期类
1、 new Date():返回当前最新时间
new Date("2017,8,23,12:34:56");返回指定的时间
2、常用方法:(当前时间)
.getFullYear():获取4位年份
.getMonth():获取月份0-11
.getDate():获取一个月中的第几天 1-31
.getDay():获取一周的第几天 0-6 0:表示周天
.getHours():获取小时
.getMinutes():获取分钟
.getSeconds():获取秒
三、自定义对象
1、基本慨念:
① 对象:对象是拥有一系列无序属性和方法的集合;
② 键值对:对象中的数据,是以键值对的方式存在。对象的每个属性和方法,都对应一个键名,以键取值;
③ 属性:描述对象特征的一系列变量,称为属性。【对象中的变量】
④ 方法:描述对象行为的一系列的函数,称为方法。【对象中的函数】
2、对象的声明:
① 使用字面量声明:var obj = {
key1 : value1,
key2 : value2,
func1 : function(){}
}
>>对象中的数据是以键值对的形式存储,键与值之间用:分隔,键值对之间用,分隔。
>>对象中的键可以是除了数组、对象以外的任何数据类型。但是,一般我们只用普通变量名作为键
>>对象中的值可以是任何数据类型,包括数组和对象。
② 使用new关键字声明:var obj = Object(); //声明一个空的对象
Object.key1 = value1; //给对象添加键值对
Object.key2 = value2;
Object.func1 = function(){};
3、对象中属性和方法的读写:
① .运算符:
对象外部: 对象名.属性 对象名.方法
对象内部: 对象名.属性 ,或this.属性
② 通过["key"]调用: 对象名["属性名"] 对象名["方法名"]();
>>如果键中包含特殊符号,则只能用第②中方式;
>>对象中直接写变量名,默认为调用全局变量。
如果需要调用对象自身的属性或方法。需要使用对象名.属性或this.属性。
rson.age this.age 都可以,但推荐使用this关键字。
③ 删除对象的属性和方法:delete 对象名.属性名/方法名
delete person.age;
标签:cas substr 截取 locale case join() 开始 string类 使用
原文地址:http://www.cnblogs.com/2502778498spw/p/7489417.html