1.数组方法
1. reverse()
- 可以用来反转一个数组,它会对原数组产生影响
2. concat()
- 可以连接两个或多个数组,它不会影响原数组,而是新数组作为返回值返回
3. join()
- 可以将一个数组转换为一个字符串
- 参数:
需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素,如果不指定连接符则默认使用
4. sort()
- 可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序,调用以后,会直接修改原数组。
- 可以自己指定排序的规则,需要一个回调函数作为参数:
function(a,b){
//升序排列
return a-b;
//降序排列
return b-a;
}
2.函数
1. call()
2. apply()
- 这两个方法都是函数对象的方法需要通过函数对象来调用
- 通过两个方法可以直接调用函数,并且可以通过第一个实参来指定函数中this
- 不同的是call是直接传递函数的实参而apply需要将实参封装到一个数组中传递
3. arguments
- arguments和this类似,都是函数中的隐含的参数
- arguments是一个类数组元素,它用来封装函数执行过程中的实参,所以即使不定义形参,也可以通过arguments来使用实参
- arguments中有一个属性callee表示当前执行的函数对象
4. this
- this是函数的上下文对象,根据函数的调用方式不同会执向不同的对象
- 以函数的形式调用时,this是window
- 以方法的形式调用时,this是调用方法的对象
- 以构造函数的形式调用时,this是新建的那个对象
- 使用call和apply调用时,this是指定的那个对象
- 在全局作用域中this代表window
3.包装类
- 在JS中为我们提供了三个包装类:
String() Boolean() Number() - 通过这三个包装类可以创建基本数据类型的对象
- 例子:
var num = new Number(2);
var str = new String("hello");
var bool = new Boolean(true);
- 但是在实际应用中千万不要这么干。
- 当我们去操作一个基本数据类型的属性和方法时,解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,操作完成以后再将这个临时对象进行销毁。
4.字符串的相关的方法
1. length
- 获取字符串的长度
2. charAt()
- 根据索引获取指定的字符
3. charCodeAt()
- 根据索引获取指定的字符编码
4. String.fromCharCode()
- 根据字符编码获取字符
5. indexOf()
6. lastIndexOf()
- 从一个字符串中检索指定内容
- 需要一个字符串作为参数,这个字符串就是要检索的内容,如果找到该内容,则会返回其第一次出现的索引,如果没有找到则返回-1。
- 可以指定一个第二个参数,来表示开始查找的位置
- indexOf()是从前向后找
- lastIndexOf()是从后向前找
7. slice()
- 可以从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原变量
- 参数:
- 第一个:截取开始的位置(包括开始)
- 第二个:截取结束的位置(不包括结束)
- 可以省略第二个参数,如果省略则一直截取到最后
- 可以传负数,如果是负数则从后往前数
8. substr()
- 和slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量
9. substring()
- 和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为0,substring()中如果第二个参数小于第一个,自动调整位置
10. toLowerCase()
- 将字符串转换为小写并返回
11. toUpperCase()
- 将字符串转换为大写并返回
12. split()
- 可以根据指定内容将一个字符串拆分为一个数组
- 参数:
- 需要一个字符串作为参数,将会根据字符串去拆分数组
- 可以接收一个正则表达式,此时会根据正则表达式去拆分数组
13. match()
- 可以将字符串中和正则表达式匹配的内容提取出来
- 参数:正则表达式,可以根据该正则表达式将字符串中符合要求的内容提取出来并且封装到一个数组中返回
14. replace()
- 可以将字符串中指定内容替换为新的内容
- 参数:
- 第一个:被替换的内容,可以是一个正则表达式
- 第二个:替换的新内容
15. search()
- 可以根据正则表达式去字符串中查找指定的内容
- 参数:正则表达式,将会根据该表达式查询内容,并且将第一个匹配到的内容的索引返回,如果没有匹配到任何内容,则返回-1。
5.正则表达式
1. 正则用来定义一些字符串的规则,程序可以根据这些规则来判断一个字符串是否符合规则,也可以将一个字符串中符合规则的内容提取出来。
2. 创建正则表达式
var reg = new RegExp("正则","匹配模式");
var reg = /正则表达式/匹配模式
3. 语法:
1.量词
{n} 正好n次
{m,n} m-n次
{m,} 至少m次
+ 至少1次 {1,}
? 0次或1次 {0,1}
* 0次或多次 {0,}
2. 转义字符
\ 在正则表达式中使用\作为转义字符
\. 表示.
\\ 表示\
. 表示任意字符
\w:相当于[A-z0-9_]
\W:相当于[^A-z0-9_]
\d:任意数字
\D:除了数字
\s:空格
\S:除了空格
\b:单词边界
\B:除了单词边界
^ 表示开始
$ 表示结束
3. 匹配模式:
- i:忽略大小写
- g:全局匹配模式
- 设置匹配模式时,可以都不设置,也可以设置1个,也可以全设置,设置时没有顺序要求
4. 正则语法
| 或
[] 或
[^ ] 除了
[a-z] 小写字母
[A-Z] 大写字母
[A-z] 任意字母
[0-9] 任意数字
5. 方法
test():
- 可以用来检查一个字符串是否符合正则表达式
- 如果符合返回true,否则返回false
6.Date
- 日期的对象,在JS中通过Date对象来表示一个时间
- 创建对象
- 创建一个当前的时间对象
var d = new Date();
- 创建一个指定的时间对象
var d = new Date("月/日/年 时:分:秒");
- 方法:
-
getDate():当前日期对象是几日(1-31)
-
getDay() :返回当前日期对象时周几(0-6),例如:0是周日,1是周一,依次类推
-
getMonth():返回当前日期对象的月份(0-11),例如:0是一月,1是二月,依此类推
-
getFullYear() 从 Date 对象以四位数字返回年份。
-
getHours() 返回 Date 对象的小时 (0 ~ 23)。
-
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
-
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
-
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
-
getTime():返回当前日期对象的时间戳,时间戳指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数,计算机底层保存时间都是以时间戳的形式保存的。
-
Date.now():可以获取当前代码执行时的时间戳
7.Math
- Math属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法,我们可以直接使用它来进行数学运算相关的操作
- 方法:
-
Math.PI:常量,圆周率
-
Math.abs():绝对值运算
-
Math.ceil():向上取整
-
Math.floor():向下取整
-
Math.round():四舍五入取整
-
Math.random():生成一个0-1之间的随机数
-
Math.round(Math.random()*(y-x)+x);:生成一个x-y之间的随机数
-
Math.pow(x,y):求x的y次幂
-
Math.sqrt():对一个数进行开方
-
Math.max():求多个数中最大值
-
Math.min():求多个数中的最小值