JavaScript:ECMAScript内建对象

基本内建对象

Number-数字对象

var num=new Number(value);

var num=Number(value);

方法

toString() —— 转成字符串

valueOf() —— 返回Number的基本数字值

Boolean-逻辑对象

var bool=new Boolean(value);

var bool=Boolean(value);

方法

toString() —— 转成字符串

valueOf() —— 返回Boolean的基本值

String-字符串对象

var str=new String(value);

var str=String(value);

var str="abc";

方法

1.length

作用:获取字符串中字符的个数,即获取字符串长度,注意,如果字符串中有汉字,那么在用length获取长度时一个汉字的个数就是1

格式:字符串.length

2.charAt()

作用:获取字符串中某个下标位置上的字符

格式:字符串.charAt(下标);

注意:如果字符串中存在该下标,那么返回值为该下标位置上的字符,如果字符串中不存在该下标,那么返回值为空字符串

3.charCodeAt()

作用:获取字符串中某个下标位置上的字符的ASCII码值

格式:字符串.charCodeAt(下标);

注意:如果存在该下标,那么返回值为该下标位置上的字符的ASCII码值,如果没有该下标,那么返回值为NaN

4.fromCharCode()

作用:根据ASCII码生成字符串

格式:String.fromCharCode(ASCII码值, ASCII码值, ASCII码值…);

注意:返回值为该ASCII码值对应字符所形成的字符串,如String.fromCharCode(97,98,99);返回值为“abc”

5.split()

作用:将字符串转换为数组

格式:字符串.split("分隔符");

注意:

  • 如果不加分隔符,那么字符串会作为一个整体,转换为数组元素,如var str = "hello"; str.split(); 返回值为["hello"]
  • 如果加分隔符,那么转换时会以分隔符最为分隔进行转换,注意分隔符不会变成数组元素
  • 如果需要将字符串中的每个字符都转换为数组元素,那么分隔符位置可以写一个空字符串,如split(" ");

6.indexOf()

作用:在字符串中查找某个子串的下标,如果操作该子串则返回下标,如果不存在该子串,则返回-1

格式:字符串.indexOf("子串");

注意:如果要查找的子串为多个字符构成的字符串,那么返回值为该子串中的第一个字符串的下标,如果字符串中包含多个要查找的子串,那么只返回第一个子串对应的下标即停止查找

7.lastIndexOf()

作用:在字符串中从后向前查找某个子串的下标,如果操作该子串则返回下标,如果不存在该子串,则返回-1

格式:字符串.lastIndexOf("子串");

注意事项:同上

8.concat()

作用:拼接字符串

格式:字符串1.concat(字符串2);

注意:返回值为拼接后的新的字符串,原有的字符串不受影响,但是也可以使用加号进行字符串的拼接

9.substring()

作用:截取字符串

格式:字符串.substring(begin, end);

注意事项:

  • begin:表示开始位置的下标
  • end:表示结束位置的下标,注意的是截取时包含begin,但是不包含end
  • 如果只写一个下标begin,那么意味着从begin开始一直截取到最后
  • 如果一个下标都不写,那么表示复制字符串

10.slice()

作用:截取字符串

格式:字符串.slice(begin, end);

注意:

  • begin:表示开始位置的下标
  • end:表示结束位置的下标,注意在截取时包含头,但是不包含尾
  • 该函数可以写1个参数或一个参数都不写,使用情况同上
  • 写负数表示从后往前数

substring和slice的区别:

  • slice方法中可以使用负数,但是substring方法中不可以使用
  • substring中的第一个参数可以比第二个参数大,在执行时系统会自动将两个参数转换位置,但是slice方法中不允许第一个参数大于第二个参数,因为没有可以截取的内容

11.substr()

作用:截取字符串

格式:字符串.substr(begin, 个数);

注意:

  • substr方法中可以只写一个参数begin,那么意味着从begin开始,一直截取到字符串最后
  • 如果一个参数都不写,那么为字符串复制

12.toUpperCase()

作用:将字母转换为大写

格式:字符串.toUpperCase();

注意:返回值为大写字母构成的新串,原串不变

13.toLowerCase()

作用:将字符串中的字母转换为小写

格式:字符串.toLowerCase();

14.localeCompare()

作用:比较字符串大小

格式:字符串1.localeCompare(字符串2);

注意:

  • 如果字符串1小于字符串2,返回值为-1
  • 如果字符串1大于字符串2,返回值为1
  • 如果字符串1等于字符串2,返回值为0
  • 也可以使用关系运算符比较字符串的大小,即"a">"b"

Array-数组对象

定义空数组:var arr=new Array(); / var arr=new Array(size); / var arr=[];

定义且赋值:var arr=new Array(element0, element1...); / var arr=[1,2,3,4,5];

增加数组元素:

  • 格式1:通过数组名[下标] = 值的形式添加数组元素,如var  arr = [1,2,3];  arr[3] = 100;
  • 格式2:利用数组对象的length属性对数组长度进行修改,格式数组名.length = 值,注意如果值大于当前的数值长度,那么相对于扩展数组长度,如果值小于当前长度,那么相对于缩小数组长度(从前到后保留)

删除数组元素的值:delete  数组名[下标];(注意,值被删除,但是位置还是保留)

修改数组元素的值:数组名[下标] = 值;

获取数组元素的值:数组名[下标];

方法

1.length

作用:获取或设置数组长度

格式:

获取:数组名.length

设置:数组名.length = 值

2.push()

作用:在数组末尾添加数据

格式:数组名.push(值1, 值2);

返回值:新的数组长度

3.pop()

作用:删除数组末尾的值

格式:数组名.pop();

返回值:被删除的数组元素

4.unshift()

作用:在数组前面添加数据

格式:数组名.unshift(值1, 值2…);

返回值:新的数值长度

5.shift()

作用:删除数组前面的元素

格式:数组名.shift();

返回值:被删除的元素

6.concat()

作用:拼接数组元素

格式:数组名1.concat(数组名2);

数组名.concat(值1, 值2);

注意:

  • 该方法会生成一个新的数组并返回,原有的数组不受影响
  • 也可以使用该方法为数组添加元素,格式:数组名.concat(值1, 值2);,该种形式和push方法的区别是push方法的返回值为新的数组的长度,而concat的这种形式的返回值为新的数组,push会影响原有数组,而concat不影响原有数组

7.join()

作用:将数组转换为字符串

格式:数组名.join("分隔符");

注意:

  • 如果不加分隔符,生成字符串默认用逗号分隔,如arr.join();
  • 如果要指定分隔符,格式数组名.join("分隔符"); 如arr.join("/");
  • 如果生成的字符串不需要分隔符,那么分隔符位置写一个空字符串,如arr.join(" ");

8.slice()

作用:从一个数组中截取处一个新的数组

格式:数组名.slice(begin, end);

注意:

  • begin:表示要截取的元素的初始下标
  • end:表示要截取的元素的结束位置的下标,但是要注意,slice在截取时包含begin,不包含end
  • 如果只写一个参数begin,那么意味着begin开始一直截取到数组的最后
  • 如果一个参数都不写,那么可以实现数组的复制
  • 使用slice对数组进行截取时,原有数组不受影响

9.splice()

作用:对数组进行增、删、改操作

增加操作,格式:数组名.splice(要插入的位置的下标, 0, 要插入的值); 返回值为空数组

删除操作,格式:数组名.splice(要删除的起始位置下标, 个数); 返回值为被删除的数组元素

修改操作,格式:数组名.splice(要修改的位置下标, 个数, 新的值); 返回值为被修改的元素所形成的数组

10.toString()

作用:将数组转换为字符串

格式:数组名.toString();

11.indexOf()

作用:在数组中查找某个元素,如果存在该元素,那么返回该元素所在的下标,如果不存在,返回-1。注意查找顺序为从前向后,如果找到第一个满足条件的元素,则停止查找

格式:数组名.indexOf(值);

12.lastIndexOf()

作用:在数组中从后向前查找某个元素,如果存在,返回下标,如果不存在,返回-1。如果数组中存在多个要查找的元素,当找到第一个元素时则停止查找

格式:数组名.lastIndexOf(值);

13.reverse()

作用:反转,颠倒数组里面元素的位置

格式:数组名.reverse();

注意:原数组被改变

14.sort()

作用:对数组元素进行排序

格式:数组名.sort();

注意:默认情况下sort在排序时是将数组元素当做字符串进行比较大小和排序的,如果在排序时需要按照数值类型进行排序,那么可以采用如下格式

格式1:升序

数组名.sort(function(num1, num2){return  num1-num2;});

格式2:降序

数组名.sort(function(num1, num2){return num2-num1;});

遍历

格式1:利用for循环进行遍历

格式2:该形式是在遍历数组中的下标

for(var 下标 in 数组名) {
    循环体;
}

格式3:该形式是在遍历数组中的值

for(var 代表值的变量名 of 数组名){
    循环体;
}

格式4:利用数组对象的forEach方法对数组元素的值和下标进行遍历

数组名.forEach(function(数组的值, 数组的下标){
    函数体;
});

Date-日期对象

var date=new Date()

var date=new Date(毫秒值) //从1970-1-1到目标日期的毫秒值

方法

getFullYear()和getMonth() —— 获得年和月份(0-11)

getDate()和getDay() —— 获得日(1-31)和星期(0-6)

getTime() —— 返回1970-1-1到指定日期的毫秒值

toLocaleString() —— 获得本地时间格式的字符串

Math-算数对象

Math对象并不像Date和String那样是对象的类,没有构造函数,无需创建就可以调用它的所有属性和方法

方法

PI属性:作用是获取圆周率

1.round()

作用:对数据进行四舍五入

格式:Math.round(值);

返回值为四舍五入后的整数

2.ceil()

作用:对数据进行向上取整,取最小整数

格式:Math.ceil(值);

3.floor()

作用:对数据进行向下取整,取最大整数

格式:Math.floor(值);

4.random()

作用:生成0.0-1.0间的随机数,包含0.0但是不包含1.0

格式:Math.random()

注意:如果要生成n-m间的随机的整数(包含n且包含m),公式为parseInt(Math.random()*(最大值+1-最小值)+最小值),如要生成一个数组或者一个字符串的随机下标,公式可以改为parseInt(Math.random()*数组/字符串.length);

5. max()

作用:求一组数据中的最大值

格式:Math.max(值1, 值2, 值3…);

6.min()

作用:求一组数据中的最小值

格式:Math.min(值1, 值2, 值3…);

7.abs()

作用:求一个数据的绝对值

格式:Math.abs(值);

返回值:正数的绝对值为本身,负数的绝对值为相反数,0的绝对值为0

8.pow()

作用:求x的y次方

格式:Math.pow(x,y);

9.sqrt()

作用:求一个数值的算术平方根(算数平方根为正值)

格式:Math.sqrt(值);

RegExp-正则表达式对象

正则表达式:作用是用来判断一个字符串是否符合格式要求(即是否符合正则表达式的要求),或者判断一个字符串中是否包含符合要求的子串。

方法一:var reg=new RegExp("表达式","修饰符");

注意在使用该种方法创建正则表达式时,如果里面涉及了\d或\w等转义字符,那么需要在它们前面加“\”,如new  RegExp("\\d");

var email = "test_123@126.com";
var reg = new RegExp("[A-Za-z]+[A-Za-z0-9_-]*@[A-Za-z0-9]+\.[A-Za-z]+");
var result = reg.test(email);
alert(result);

方法二:var reg=/正则规则/修饰符;

var email = "test_123@126.com";
var reg = /^[A-Za-z]+[A-Za-z0-9_-]*@[A-Za-z0-9]+\.[A-Za-z]+$/;
var result = reg.test(email);
alert(result);

修饰符

i:表示忽略大小写。如果设置了这个标志,进行匹配比较时,将忽略大小写。

g:表示全局匹配。如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。如果不设置这个标志,则仅搜索和替换最早匹配的内容。

gi:表示全局匹配且忽略大小写。如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与被搜索字符串的结束位置相匹配。如果设置了这个标志,“^”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。

方法

test()

作用:判断字符串是否符合正则表达式的格式要求

格式:正则表达式.test("字符串");

返回值:

true:表示字符串符合格式要求

false:表示字符串不符合格式要求

正则表达式对象中常用的特殊字符

1、*:表示它前面的字符的个数为0到正无穷

2、+:表示它前面的字符的个数为1到正无穷

3、?:表示它前面的字符的个数为0到1个

4、{n}:表示它前面的字符的个数为n个

5、{n,}:表示它前面的字符的个数为n到正无穷

6、{n,m}:表示它前面的字符的个数为最小n个,最多m个

7、^:表示以某个字符开头

8、$:表示以某个字符结尾

9、\:表示转义字符,可以将普通字符赋予特定的功能和含义,也可以使具有特定含义的字符变成普通字符

10、\d:表示0-9间的所有的数字

11、\D:表示所有的非数字字符

12、\w:表示字母、数字、下划线

13、\W:表示非字母、数字、下划线的字符

14、\s:表示所有的空白字符

15、\S:表示所有的非空白字符

16、.:表示除了\n之外的所有字符

17、 []的使用

  • [值1值2值3]:表示字符串中包含该中括号里面的任意一种字符
  • [值1-值2]:表示值1到值2间的任意一个字符,如[0-9]表示0-9间的任意字符
  • [^值]:表示字符串中不可以包含中括号里面的值,如[^a]表示字符串中不可以包含字符a
  • [\u4e00-\u9fa5]:表示任意一个汉字
  • |:表示或,格式:值1|值2|值3,表示字符串中包含值1或者包含值2或者包含值3
  • ():表示分组

正则表达式中括号的含义

括号() : 括号是多个匹配,它把括号内的当做一组来处理,限制一些多选的范围,比如上面的需求只能是com cn net结尾的用括号就是最好的选择。

  • 括号能提取字符串,如(com|cn|net)就可以限制,只能是com或cn或net。
  • 括号将括号里面的内容作为一组,这就是与[]不同的地方。

方括号[]: 方括号是单个匹配,如[abc]他限制的不是abc连续出现,而是只能是其中一个,这样写那么规则就是找到这个位置时只能是a或是b或是c;

  • 方括号是正则表达式中最常用的,常用的用法有:[a-zA-Z0-9]匹配所有英文字母和数字,[^a-zA-Z0-9]匹配所有非英文字母和数字。

大括号{}: 大括号的用法很简单,就是匹配次数,它需要和其他有意义的正则表达式一起使用。

  • 比如[a-c]{2}意思就是匹配a-c之间的一个字母出现且只出现两次。
  • 比如(com){1}意思就是com必须出现一次
  • 比如\W{1,3}意思就是非字母数字最少出现一次最多出现3次。

正则表达式配合方法使用

1.split()

作用:将字符串转换为数组

格式:字符串.split(正则表达式);

示例:var str = "a1b2c3d4e5f6";  str.split(/\d/);

2.match()

作用:在一个字符串中查找是否包含符合条件的子串,如果包含子串,那么返回由子串构成的数组,注意的是,默认情况下,当查找到第一个子串时则停止继续查找

格式:字符串.match(正则表达式);

示例:var  str = "abcdefgdeacde";   str.match(/de/g);

3.replace()

作用:将字符串中的某个字符替换为其它的字符

格式:字符串.replace(要被替换的字符, 新的字符),通常要被替换的字符可以是正则表达式,注意的是该方法默认只替换复合条件的第一个字符,如果要全局匹配需要在正则表达式中加g修饰符,如str.replace(/\d/g, “*”);

4.search()

作用:在字符串中查找某个字符的下标

格式:字符串.search(正则表达式); 如:str.search(/\d/);

注意:search的作用类似于indexOf,但是区别是indexOf不支持正则表达式,而search支持正则表达式

arguments-实参数组对象

1.arguments对象是伴随着函数的创建而创建

2.该对象的作用是用来存储和管理函数所接受到的数据,即实参

3.arguments对象在存储实参时的存储形式和数组相同,我们把这种现象称为“伪数组”,即它不是数组,但是对数据的管理形式和数组相同,如可以通过arguments[下标]的形式来获取对应的数据

4.arguments对象的属性length,该属性可以用来获取传递过来的实参的个数,如果定义函数时不确定参数的个数,那么可以定义成无参函数,如果在调用时传递了数据,那么就算是没有形参,我们也可以用arguments对象来接收数据。但是如果定义函数时确定参数的个数,通常就以形参的形式保存数据

5.arguments对象的callee属性,该属性代表arguments对象所在的函数,callee属性常用在匿名的函数,且该函数被定义成立递归函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值