目录

1.argunments

2.Date

3.Match

4.包装类

5.字符中的方法

6.正则表达式

1.argunments

在调用函数时浏览器每次都会传递两个隐含的参数:函数的上下文对象this和待封装的对象arguments。

arguments:

一个类数组对象(不是数组),它可以通过索引来操作数据,也可以获取长度。

在调用函数时,我们传递的参数都会在arguments中保存。

arguments.length可以获取实参的长度。

即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦。arguments[0]表示第一个实参,arguments[1]表示第二个实参。

有一个属性:callee。这个属性对应一个函数对象,即当前正在指向的函数对象。

前端anydesignUpload的onchange 前端argument_字符串

2.Date

在JS对象中使用Date对象表示一个时间

如果直接使用构造函数创建一个Date对象,则会封装为当前代码:var a=new Date();

创造一个指定的时间对象:在构造函数中传递一个表示时间的字符串作为参数,日期的格式:月份/日/年 时:分:秒

getDate( )获取当前日期对象是几日

getDay()获取当前日期对象周几,会返回一个0-6的值0 :周日,1:周一

getMonth()获取当前时间对象的月份,会返回一个0-11的值,0:1月,1:2月,11:12月

getFullYear()获取当前日期对象的时间戳(时间戳指从格林危治标准时间的1970年1月1日0时0分0秒到当前日期所花费的毫秒数),计算机底层保持时间时使用的是时间戳。

获取当前的时间戳:time=Date.now();

前端anydesignUpload的onchange 前端argument_Math_02

 

3.Match

Match不是一个构造函数,它属于一个工具类不用创建对象,显示封装了数学运算的相关属性和方法。

abs()即使一个数的绝对值

Math.ceil()可对一个数向上取整,小数位只要有值就自动进1

Math.floor()可对一个数向下取整,小数部分会被舍掉

Math.round()对一个数四舍五入取整

Math.random()可生成0-1直接的随机数,不会生成0和1。生成0-x之间的随机数:Math.round(Math.random()*x)。生成一个x-y之间的随机数:Math.round(Math.random()*(y-x)+x)

max()可获取多个数间的最大值

min()可获取多个数据间的最小值

Math.pow(x,y)返回x的y次幂

Math.sqrt()对一个数开方

4.包装类

JS为我们提供了三个包装类,通过这三个包装类可以将基本数据类型转换为对象。

String():可将基本数据类型字符串转换为String对象

Number():可将基本数据类型字符串转换为Number对象

Boolean():将基本数据类型字符串转换为Boolean对象

当我们对一些基本数据类型的值调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性和方法,调用完后再将其转换为基本数据类型

前端anydesignUpload的onchange 前端argument_Math_03

5.字符中的方法

charAt():可以返回字符串中指定位置的字符,根据索引获取指定的字符

charCodeAt():获取指定位置字符的字符编码(Unicode)

concat()可以连接两个或多个字符串,作用和+、-一样

indexOf():该方法可以检索一个字符串中是否有指定内容

                   如果字符串中含有指定内容,则会返回其第一次出现的索引

                    如果没有找到指定内容,则返回-1

                  可以指定第二个参数,指定开始查找的位置

lastIndexOf():该方法用法同indexOf()一样,不同的是indexOf从前往后找,lastIndexOf从后往前找。

slice()用法同数组中的slice(),不过是数组变为字符串

substring()与slice类似,不同的是这个方法不能接受负值作为参数,如果传递了一个负值,则默认使用0,而且它还自动调整位置,如果第二个参数小于第一个,则自动交换。

substr()来采取字符串。

                   参数:截取开始位置的索引

                                截取的长度

split():把字符串拆分为一个数组

               参数:需要一个字符串作为参数,将会根据该字符串拆分数组

                如果传递一个空字符串作参数,则会将每一个字符拆分为数组中的每一个元素

toUpperCase()将每一个字符串转化为大写并返回

toLowerCase()将一个字符串转化为小写再返回

6.正则表达式

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式检查一个字符串是否符合规则。

创建正则表达式的对象语法:var 变量=new RegExp(“正则表达式“,“匹配表达式“);

使用typeof检查正则对象会返回object

正则表达式的方法:test():使用这个方法可以检查一个字符串中是否符合正则表达式的规则,如果符合则返回true,否则返回false

前端anydesignUpload的onchange 前端argument_正则表达式_04

在构造函数中可传递一个匹配模式作为第二个参数,可以是i 忽略大小写或g  全局匹配模式

使用字面量创建表达式,语法:var  变量=/正则表达式/匹配模式

使用字面量的方式创建更加简单,使用构造函数创建函数更加灵活。

检查一个字符串中是否有a或b: var reg=/a|b/;(或var reg=/[ab]/)

[a-z]:任意小写字母,[A-Z]:任意大写字母,[A-z]:任意字母

[^]除了

例:var reg=/[^ab]/:除了a、b

     var reg=/[^0-9]除了数字

方法:

split()方法中可传递一个正则表达式作为参数,这样方法就会根据正则表达式拆分字符串。(这个方法即使不写g也会全局匹配)

前端anydesignUpload的onchange 前端argument_字符串_05

search():可以搜索字符串中是否有指定内容

               如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到则返回-1

(即使设置全局匹配也没用)

              它可以接受一个正则表达式作为参数,然后根据正则表达式来检索字符串

match()可以根据正则表达式从一个字符串中将符合条件的内容提取出来

                 默认情况下match只会找到第一个符合要求的内容就停止检索

前端anydesignUpload的onchange 前端argument_字符串_06

 replace():可将字符串中指定内容。

       参数:替换的内容,可接受一个正则表达式作为参数。

                 新的内容

         默认只会替换第一个

量词:通过两次可以设置一个内容出现的次数

          量词对它前边的一个内容起作用

        {n}正好出现n次

      {m,n}出现m到n次

      {m,}m次以上

        + 至少一个,相当于{1,}

         *   0个或多个,相当于{0,}

          ? 0个或1个,相当于{0,1}

检查一个字符串是否以a开头

      ^表示开头

        $表示结尾

     /^a$/只能是一个a(如果正则表达式中同时使用^、$则要求字符串必须完全符合正则表达式

检查一个字符串是否含有 .,.表示任意字符

在正则表达式中使用\作为转义字符,\.表示.,\\表示\

注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\则需使用\\代替

前端anydesignUpload的onchange 前端argument_字符串_07

\w:任意字母、数字、_([A-z0-9_])

\W:除了字母、数字、_(^A-z0-9_])

\d:任意数字

\D:除了数字

\s:空格

\S 除了空格

\b 单词边界

\B 除了单词边界

前端anydesignUpload的onchange 前端argument_字符串_08