- JavaScript 有哪些内置对象
(1)值属性 undefined、null、Infinity、-Infinity、NaN
(2)函数属性 eval parseInt parseFloat
(3)基本对象:Ojbect 、Error、Symbol、Boolean、Function
(4)数字和日期对象:Number、Date、Math、BigInt
(5)字符串:String、RegExp
(6)可索引的集合对象,比如 Array 和 ArrayLike,Buffer、ArrayBuffer
(7)使用键的集合对象,Map、Set、WeakMap、WeakSet
(8)矢量集合,SIMD
(9)结构化:JSON.parse、JSON.stringify
(10)控制抽象对象 Promise、Generator
(11)反射:Reflect、Proxy
(12)国际化:Intl,Intl.Collator
(13)WebAssembly
(14)其他,例如 arguments、callee 等
- JavaScript 脚本在浏览器中延迟加载的方式有哪些?
- defer,有序,异步加载,无阻断
- async,无序,异步加载,运行阻断
- setTimeout,设置定时器加载
- JSONP 的方式,动态创建
- JS 放在文档底部
- JavaScript 类数组对象的定义
(1)Array.prototype.slice(aryLike)
(2)Array.prototype.splice(aryLike, 0)
(3)Array.from
(4)Array.prototype.concat
(5)[…aryLike]
- 数组的原生方法?
- 转换:toString\toLocaleString\join
- 普通操作:pop、push、shift、unshift、slice、splice
- 连接:concat
- 复制:copyWith mdn ```typescript // copyWith 浅复制数组的一部分到同一数组的另一个位置,并返回它,不会改变原数组的长度 // copyWith(target, start?, end?) // 0 为基底的索引,复制序列到该位置。如果是负数,target 将从末尾开始计算。 // 如果 target 大于等于 arr.length,将不会发生拷贝。如果 target 在 start 之后,复制的序列将被修改以符合 arr.length。 // start 默认为 0,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。 // 如果 start 被忽略,copyWithin 将会从0开始复制。 // end 默认为 arr.length,开始复制元素的结束位置。copyWithin 将会拷贝到该位置, // 但不包括 end 这个位置的元素。如果是负数, end 将从末尾开始计算。如果 end 被忽略,copyWithin 方法将会一直复制至数组结尾(默认为 arr.length) const array1 = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];
// copy to index 0 the element at index 3 console.log(array1.copyWithin(0, 3, 4)); // expected output: Array [“d”, “b”, “c”, “d”, “e”]
// copy to index 1 all elements from index 3 to the end console.log(array1.copyWithin(1, 3)); // expected output: Array [“d”, “d”, “e”, “d”, “e”]
```
- 反转:reverse
- 排序:sort(原数组影响)
- 拍平:flat、flatMap
- 遍历:forEach、map、filter
- 归并:reduce、reduceRight
- 寻找:indexOf、includes、lastIndexOf、findIndex、find、some、every、at、findLast、findLastIndex
- 填充:fill
- 对象型:values、keys、entries