1.基本包装类型
基本数据类型:数字number、布尔boolean、字符串string、null、undefined
设计模式:工厂方法(根据传入的值的类型返回相应基本包装类型的实例)
普通函数:数据类型的转换
构造函数:new->obj 包装类型
Boolean/Number推荐大家进行数据类型转换,不建议包装类型的使用
String 类型
length 属性,获取字符串的字符数量
charAt(i) 返回给定位置的字符
charCodeAt(i) 返回给定位置的字符的字符编码
例如:
var s = "helloworld";
s.charAt(1); //e
s.charCodeAt(1); //101
indexOf() 从前往后查找指定字符所在位置
lastIndexOf() 从后往前查找字符串所在位置,可以有第二个参数,代表从字 符串中哪个位置开始查找。
concat() 将一个或多个字符串拼接起来,返回拼接得到的新字符串,但是大多使用"+"拼接
slice() 截取字符串(开始位置,结束位置)不包括结束位置的字符
substr() 截取字符串(开始位置,截取字符个数)
substring() 截取字符串(开始位置,结束位置)不包括结束位置的字符
var s = " helloworld";
s.slice(3,7); //lowo
s.substr(3,7); //loworld
s.substring(3,7); //lowo
trim() 删除前置以及后置中的所有空格,返回结果
toLowerCase() 转换为小写
toUpperCase() 转换为大写
对正则的支持:search()/match()/split/replace()
调用String.prototype中的方法以及Object.prototype原型中的方法。
JS中的字符串是不可变(immutable)
String原型定义的方法都不能改变字符串的内容,返回是全新的字符串,而不是修改原始字符串。
2.Math对象
常用方法:
比较方法:
Math.min() //求一组数中的最小值
Math.max() //求一组数中的最大值
Math.min(1,2,19,8,6); //1
将小数值舍入为整数的几个方法
Math.ceil() 向上舍入
Math.floor() 向下舍入
Math.round() 四舍五入
Math.ceil(12.41); //13 Math.floor(12.41); //12
Math.round(12.3); //12 Math.round(12.5); //13
随机数
Math.random() //返回大于0小于1的一个随机数 [0,1)
其他方法:(了解即可,即用即查)
abs(num) 返回num绝对值
exp(num) 返回Math.E的num次幂
log(num) 返回num的自然对数
pow(num,power) 返回num的power次幂
sqrt(num) 返回num的平方根
scos(x) 返回x的反余弦值
asin(x) 返回x的反正弦值
atan(x) 返回x的反正切值
atan2(y,x) 返回y/x的反正切值
cos(x) 返回x的余弦值
sin(x) 返回x的正弦值
tan(x) 返回x的正切值
不需要创建对象,把Math作为对象使用,就可以调用它的所有属性和方法
3.Date对象
将一个字符串转换为Date对象:
var str = "2019-12-12";
var date = new Date(str);
//字符串转换为Date对象
document.write(date.getFullYear());
//然后就可以使用Date对象的方法输出年份了
Date的方法
Date.prototype.getFullYear() 返回年份 如2020。
var date = new Date();
document.write(date.getFullYear()); //返回2020,2020年
Date.prototype.getYear() 返回Date对象中的年份值减去1900
var date=new Date();
date.getTime();//实例方法:时间戳
Date.now();//静态方法:时间戳
时间戳:格林威治时间1970年01月01日00时00分00秒(北京时间东八区1970年01月01日08时00分00秒)起至现在的总毫秒数,可以使用时间戳转换成任意的数据格