对象(引用值)是某个特定引用类型(对象定义)的实例
Date
日期对象,构造时需要传入距离1979.1.1凌晨的毫秒数,默认传入当前时间,如果传入的不是毫秒数,则默认先调用Date.parse()进行转换
传入毫秒,封装对日期时间的操作,再返回日期和时间
构造
const date = new Date(\[特定格式日期/毫秒数]);
静态方法
- Data.parse()/Date.UTC():将特定日期格式转换为毫秒表示,如果不是特定格式,则返回NaN
- Date.now():返回执行时时期和时间的毫秒数
方法
1. 继承的方法
- toLocaleString()/toString():返回浏览器/系统的日期和时间
- valueOf():返回日期的毫秒数
2. 其他方法
用于获取年月日和时间,常见MDN
RegExp
正则表达式
传入模式pattern和标记flags创建规则,再调用方法来将规则应用到目标字符串上,返回特定数据
构造
const reg = /pattern/flags;const reg = new RegExp(pattern,flags);
let pattern1 = /[bc]at/i;
let pattern2 = new RegExp('[bc]at','i');//与上面等价
pattern
常见MDN
flags
静态方法
toLocaleString/toString:返回正则表达式字面量 valueOf:返回正则表达式本身
方法
exec():输入目标字符串,返回规则匹配结果 test():输入目标字符串,返回是否匹配
Function
常见后续章节
原始值包装类型
每当用到原始值的方法或属性时(读模式),后台就会创建一个相应原始包装类型的对象
注意使用之后立即销毁,即后台创建的对象只存在于读模式访问原始数据的那一行
let s1 = 'some text';
let s2 = s1.substring(2,5);// 读模式访问s1,后台创建包装对象
console.log(s2);//me
s1.color = 'red';//读模式访问s1,给包装对象添加属性
console.log(s1.color)//undefined,上面添加属性到包装对象,代码执行完后后台自动销毁
Boolean
- toString():返回'true'或'false'
- valueOf():返回true或false
Number
- toString([进制]):返回数值对应进制的字符串
- toFixed([小数点位数]):返回包含指定小数点位数的数值字符串
String
属性
- length:返回字符串长度(包含多少个16位码元)
方法
- charAt():返回指定位置的字符
- indexOf/lastIndexOf([搜索字符串],[指定开始位置]):从指定开始位置向尾(头)开始搜索字符串中出现指定字符串位置
- startsWith/endsWith/include():是否指定字符出现在原字符串开头/结尾/任意位置
- trim():返回删除原字符串两端空格的新字符串
- repeat([次数]):返回重复了指定次数的字符串
- padStart/padEnd([指定总长度],[指定字符串]):返回左(右)填充后的字符串
- match(pattern):接受正则表达式对象,与正则表达式exec()方法相同
- search(pattern):返回查找到的索引位置
- replace(pattern,[字符串]):替换对应字符串
- localeCompare([字符串]):比较两个字符串,返回-1(字符串参数靠前),0,1(原字符串靠后)
- 迭代与解构:[...s1]:返回的是s1每个字符组成的数组
单例内置对象
定义
ES程序开始执行时就已经存在的对象
前面提及的包装对象和Object就是一开始就存在的,不需要开发者显式构造
Global
全局中定义的变量和函数都会变为Global对象的属性和方法,当然也有一开始就写好的方法
URI编码方法
- encodeURI()/encodeURIComponent()
有效的URI不能包含某些字符,如空格,使用上述方法能替换掉这些字符,前者只编码无效字符,后者会将所有非字母字符都编码,一般前者用于协议+地址,后者则用于追加的参数
let uri = "http://www.wrox.com/illegal value.js#start";
// "http://www.wrox.com/illegal%20value.js#start"
console.log(encodeURI(uri));
// "http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.js%23start"
console.log(encodeURIComponent(uri));
- decodeURI()/decodeURIComponent() 与上面同理
eval()
完整的ES代码解释器,执行输入的js代码字符串,如eval("console.log('hi')")
Window
目前简单理解为Global之上的代理,全局定义的属性和方法都放在这里面
Math
使用Math提供的方法,比在js中自己实现会快很多
属性
常见MDN
方法
min()/max()
接受任意多参数
ceil()/floor()/round()
取整,最后一个四舍五入
random()
生成[0,1)的随机数
其他
常见MDN