一、字符串扩展
第一个参数查找的值,第二个参数开始查找的位置
includes
是否包含某一个
startsWith
头部存在某一个
endsWidth
尾部存在某一个
repeat
重复几次
介于0
和正无穷大之间的整数 :[0, +∞)
。表示在新构造的字符串中重复了多少遍原字符串
padStart
头部补全
padEnd
尾部补全
str.padStart(targetLength, padString)
str.padEnd(targetLength, padString)
二、数值扩展
Number.isFinite()
判断一个数是不是无穷大
全局函数
isNaN
会发生类型转换
Number.isNaN()
判断一个数是不是NaN,该方法不会强制将参数转换成数字,只有在参数是真正的数字类型,且值为NaN
的时候才会返回true
Number.parseInt()
转化为整数
Number.parFloat()
转化为浮点数
Number.inInteger()
判断一个数是不是整数
二、Math 扩展
Math.trunc
去除一个数的小数部分,返回整数部分
Math.sign()
参数为整数,返回 +1
参数为负数,返回 -1
参数为0,返回 0
参数为-0,返回 -0
其他值,返回NaN
传入该函数的参数会被隐式转换成数字类型。
Math.cbrt()
计算一个数的立方根
Math.hypot()
返回所有参数的平方和的平方根
3 ** 2 + 4 ** 2 = 5 ** 2
(9 + 16) / 5
三、函数扩展
严格模式
只要函数参数使用了默认值,解构赋值,扩展运算符,那么函数内部就不能显示设定为严格模式,否则会报错,
'use strict'
声明在全局环境 和 函数环境时,变量必须先声明后使用
声明函数环境时,this
不是任何对象的属性的时候,指向undefined
四、数组扩展
Array.from
将两类对象转为真正的数组
console.log(Array.from('foo'));
// ["f", "o", "o"]
语法
Array.from(arrayLike[, mapFn[, thisArg]])
mapFn
(可选参数)
如果指定了该参数,新数组中的每个元素会执行该回调函数。
console.log(Array.from([1, 2, 3], x => x + x));
// [2, 4, 6]
Array.of
将一类数值,转化为数组
console.log(Array.of(1,23,4))
// [1, 23, 4]
copyWithin()
数组实例的copyWithin
方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员) ,然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
它接受三个参数。
. target
(必需) :从该位置开始替换数据。
. start
(可选) :从该位置开始读取数据,默认为 0
,如果为负值,表示倒数。
. end
(可选) :到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。
这三个参数都应该是数值,如果不是,会自动转为数值。
[1, 2, 3, 4, 5].copyWithin(0, 3)
// [4, 5, 3, 4, 5]
Array.fill()
填充数组/fɪl/
填满
数组实例
keys
遍历健名
values
遍历键值取
entries
遍历键值对 entries /'entrɪs/ 记录
let arr = [1, 2, 3, 4];
for (let key of arr.keys()) {
console.log(key)
}
/*
keys() 0 1 2 3
values() 1 2 3 4
entries()
[0, 1]
[1, 2]
[2, 3]
[3, 4]
*/
includes
能识别NaN
五、对象扩展
Object.is() 判断两个值是否相等 Object.is(NaN, NaN) true
对象实例
keys
遍历健名
values
遍历键值取
entries
遍历键值对
通过 object.keys(对象)
调用
let obj = {
"a": '1',
"b": '2',
"c": '3'
};
console.log(Object.keys(obj)); // ["a", "b", "c"]
console.log(Object.values(obj)); // ["1", "2", "3"]
console.log(Object.entries(obj));
/*
["a", "1"]
["b", "2"]
["c", "3"]
*/
for (let key in obj) {
console.log(Object.keys(obj))
console.log(Object.values(obj))
console.log(Object.entries(obj))
}
指数运算符
**
**=
网友评论