Date
-
new Date()
根据传入参数的不同,内部会隐式的调用Date.parse()
或Date.UTC()
-
Date.now()
可以返回当前时间的时间戳,但Date对象之间可以直接比较大小,不用显式的转换时间戳进行比较
RegExp
-
RegExp.exec()
返回包含第一个匹配信息的数组,如果没有找到匹配项,返回null
原始值包装类型
-
String Number Boolean
当我们用到这些原始值的方法和属性时,后台其实会创建一个相应原始值的对象实例,在方法调用结束后,销毁实例;通过这种方式可以让原始值拥有对象行为,方便数据处理
let s1 = 'some text' let s2 = s1.substring(2) // 后台操作类似于 let s1 = new String('some text') let s2 = s1.substring(2) let s1 = null
String
-
str.slice()
str.substring()
用于截取字符串,参数为正数时,返回包含参数一,至参数二 **之前 **的字符串,不传参数二则截取至末尾
-
str.substr
用于截取字符串,参数为正数时,参数一为起始索引,参数二为字符个数
str.indexOf
str.lastIndexOf
str.startsWith
str.endsWith
str.includes
用于判断是否包含参数子串str.trim
去除参数字符串首尾空格,返回副本str.repeat(n)
返回重复n次的拼接副本str.padStart(n, strArg)
str.padEnd(n, strArg)
将strArg重复n次拼接在字符串首或尾,strArg默认为空格-
字符串原型上暴露了一个@@iterator方法,可以手动调用迭代器
let message = 'abc' let stringIterator = message[Symbol.iterator]() console.log(stringIterator.next()) // {value: 'a', done: false} // 有了这个迭代器后,字符串可以通过解构操作符解构了 let message = 'abc' console.log([...message]) // ['a', 'b', 'c'] // 相当于 message.split('')
-
字符串匹配方法
-
str.match
与RegExp.exec()
类似,返回值也一样,只是调用的对象和参数互换 -
str.search
返回匹配字符的起始索引或-1 str.replace
-
单例内置对象
任何由ECMAScript实现提供,与宿主环境无关,并在ECMAScript程序开始执行时就存在的对象
- 不用显式的实例化,因为它们在程序执行时已经实例化好,如 Object,Array,String,Global,Math
Global
- 代码不会显式的访问它,所谓全局变量或全局函数都会变为Global对象的属性
-
encodeURI
和encodeURIComponent
不同在于encodeURI
不会编码属于URL的特殊字符; - 常用的是
encodeURIComponent
,用于编码 查询字符串参数(URL的某一部分) - 对应
decodeURI()
及decodeURIComponent
Window
- 在浏览器中,window对象实现为Global对象的代理,全局变量和函数都变成window的属性
Math
常用方法
-
Math.min(1, 2 ,5)
返回最小值 Math.max()
-
Math.ceil
向上取整 -
Math.floor
向下取整 -
Math.round
四舍五入 -
Math.random 返回
0~1` 范围内的随机数,不含1 -
Math.abs
返回绝对值